Konvertieren zu Datum in PHP aus JJJJMMTT-Format

9

Ich habe Daten im folgenden Format (yyyymmmdd, 18751104, 19140722) ... was ist der einfachste Weg, um es in date () zu konvertieren .... oder verwendet mktime () und substrings meine beste Option ...?

    
Serhiy 26.02.2010, 21:27
quelle

5 Antworten

33

Verwenden Sie strtotime() , um eine Zeichenfolge, die ein Datum enthält, in ein Unix Zeitstempel :

%Vor%

Sie können das Ergebnis als zweiten Parameter an date() übergeben, um das Datum neu zu formatieren dich selbst:

%Vor%

Hinweis

strtotime() wird mit Daten vor der Unix-Epoche Anfang 1970 fehlschlagen.

Als eine Alternative, die mit Daten vor 1970 arbeiten wird:

%Vor%     
meagar 26.02.2010, 21:30
quelle
5

Persönlich würde ich nur substr () verwenden, weil es wahrscheinlich der leichteste Weg ist, es trotzdem zu tun.

Aber hier ist eine Funktion, die ein Datum nimmt, von dem Sie das Format angeben können. Es gibt ein assoziatives Array zurück, so dass Sie zum Beispiel (ungetestet) folgendes tun können:

%Vor%

Ссылка

Obwohl ich sagen muss, finde ich das nicht einfacher oder effektiver als einfach:

%Vor%     
Teekin 26.02.2010 21:36
quelle
0

werfen Sie einen Blick auf strptime

    
knittl 26.02.2010 21:46
quelle
0

Vielen Dank für alle Antworten, aber das Problem von 1900 scheint jede Antwort zu plagen. Hier ist eine Kopie der Funktion, die ich benutze, sollte jemand sie für die Zukunft nützlich finden.

%Vor%     
Serhiy 26.02.2010 22:16
quelle
0

(PHP 5 & gt; = 5.3.0, PHP 7):

Sie können eine DateTime-Instanz mit erhalten:

%Vor%

und wandeln Sie es in einen Zeitstempel um:

%Vor%     
Artisan72 18.10.2015 12:04
quelle

Tags und Links