Umwandlung von Datum in PHP format yyyymmdd
Habe ich Daten in folgendem format (yyyymmdd, 18751104, 19140722)... was ist der einfachste Weg, es zu konvertieren to date().... oder ist mit mktime() und Teilstrings meine beste option...?
InformationsquelleAutor Serhiy | 2010-02-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
strtotime()
zum konvertieren einer Zeichenfolge, die ein Datum in eine Unix-timestamp:Übergeben Sie das Ergebnis als zweiten parameter
date()
zu formatieren, das Datum selbst:Hinweis
strtotime()
fehl, mit Datumsangaben, die vor der Unix-Epoche am Anfang der 1970.Als alternative, die Arbeit mit Datumsangaben vor 1970:
$Monat tatsächlich gibt "9", nicht "10", da srtptime gibt Monate als "Monate seit Januar (0-11)". Sie müssen also $parts['tm_mon']+1 zu bekommen, um "10".
InformationsquelleAutor meagar
Persönlich, würde ich nur verwenden Sie substr (), weil es wahrscheinlich der leichteste Weg, es zu tun sowieso.
Aber hier ist eine Funktion, die ein Datum, von dem Sie das format angeben. Es gibt ein assoziatives array zurück, so dass Sie könnte zum Beispiel (ungetestet):
http://uk.php.net/manual/en/function.date-parse-from-format.php
Obwohl ich sagen muss, ich finde nicht, dass jeder leichter oder effektiver als einfach:
Ich hatte für diese gestimmt als die Antwort... aber mktime leidet unter dem gleichen 1970 problem, denn die andere Antwort... und das arrangement für mktime ist ein bisschen off...
InformationsquelleAutor Teekin
haben Sie einen Blick auf
strptime
InformationsquelleAutor knittl
Gut danke für die ganzen Antworten, aber das 1900-problem scheint Pest jede Antwort, die ich bekam. Hier ist eine Kopie der Funktion, die ich verwende, sollte sich jemand finden es nützlich für Sie in die Zukunft.
InformationsquelleAutor Serhiy
(PHP 5 >= 5.3.0, PHP 7):
Können Sie eine DateTime-Instanz mit:
und konvertieren Sie Sie in eine timestamp:
InformationsquelleAutor Artisan72