2016-06-08 15 views
1

Ich kann mir eine sehr langatmige Art vorstellen, die folgende Aufgabe zu erledigen, indem ich die Zeichenkette explodiere und Variablen einfüge, die jeden numerischen Monat in einen Textmonat umwandeln, aber bevor ich das alles mache gibt es eine einfachere Möglichkeit, folgendes zu tun?Konvertiere reales Datum in Unix Timestamp PHP

Ich habe einen in einer Variablen wie diese gespeicherte Datums:

$date = '21/05/16'; 

Ich brauche es in einen Unix-Zeitstempel konvertieren mit dem Datum, Monat und Jahr aus den Variablen mit dem aktuellen Zeitstempel für die Stunden, Minuten & Sekunden.

Die Art, wie ich oben beschrieben würde mit strtotime am Ende wie folgt:

$unixtimestamp = strtotime("21 May 2016"); 

Aber wie ich schon sagte, würde ich den $ date Variable durch ‚/‘ dann jeden numerischen Monat eines konvertieren explodieren müssen Text (05 = Mai usw.) und schließlich die "20" an die Vorderseite jedes Jahres injizieren. Dies scheint nur sehr langatmig zu sein, gibt es einen besseren Weg?

Schließlich bin ich mir nicht sicher, wie ich die aktuellen Stunden, Minuten, Sekunden zur strtotime() hinzufügen würde, selbst wenn ich es so machen müsste, wie ich oben beschrieben habe, bitte alle Hinweise darauf wäre toll.

Jede Hilfe sehr geschätzt.

Antwort

2

Sie können das DateTime Objekt:

$date = '21/05/16'; 
$dateObject = DateTime::createFromFormat('d/m/Y', $date); 
$timestamp = $date->getTimestamp(); 

und Sie sind fertig :)

EDIT: weiter zu gehen, können Sie Ihr Datum manipulieren und Stunden addieren oder so:

$dateObject->add(new DateInterval('P4H3M2S')); 

Es fügt 4 Stunden, 3 Minuten und 2 Sekunden das Datum hinzu. Vorsicht, es gibt kein neues Datum zurück, es ändert das Datumsobjekt, das Sie manipulieren.

+0

Sie mein Freund sind eine Legende :) Danke für die Rettung von mir eine Menge Zeit. – Grant

Verwandte Themen