Ich versuche, ein Datum von yyyy-mm-dd
nach zu konvertieren dd-mm-yyyy
(aber nicht in SQL). Ich weiß jedoch nicht, wie die Datumsfunktion einen Zeitstempel erfordert, und ich kann keinen Zeitstempel von dieser Zeichenfolge erhalten.
Wie ist das möglich?
php
date
formatting
matthy
quelle
quelle
Antworten:
Verwenden Sie
strtotime()
unddate()
:(Siehe die Dokumentation zu Zeit und Datum auf der PHP-Site.)
Beachten Sie, dass dies eine schnelle Lösung für die ursprüngliche Frage war. Für umfangreichere Konvertierungen sollten Sie die
DateTime
Klasse wirklich zum Parsen und Formatieren verwenden :-)quelle
Wenn Sie die strtotime-Konvertierung vermeiden möchten (z. B. kann strtotime Ihre Eingaben nicht analysieren), können Sie Folgendes verwenden:
Oder äquivalent:
Sie geben ihm zuerst das Format $ dateString. Dann teilen Sie ihm das Format mit, in dem $ newDateString sein soll.
Oder wenn das Quellformat immer "Ymd" (JJJJ-MM-TT) ist, verwenden Sie einfach DateTime :
quelle
DateTime::createFromFormat()
- es ist wirklich nützlicher alsstrtotime()
strtotime()
nützlich für die Konvertierung des True-Type- Formats (Ymd) in andere Formate,DateTime::createFromFormat()
ist jedoch universell. Es ist wieSTR_TO_DATE
in MySQLstrtotime()
Verwenden:
Ohne den Aufwand für die Datumskonvertierung bin ich mir nicht sicher, ob es wichtig sein wird.
quelle
Dieser Code funktioniert für jedes Datumsformat.
Sie können die Reihenfolge der Ersetzungsvariablen wie $ 3- $ 1- $ 2 aufgrund Ihres alten Datumsformats ändern.
quelle
Weitere Informationen finden Sie in der Dokumentation zu
strtotime
.Oder noch kürzer:
quelle
Auch eine andere obskure Möglichkeit:
Ich weiß nicht ob ich es benutzen würde aber trotzdem :)
quelle
Die am häufigsten gewählte Antwort ist tatsächlich falsch!Das PHP strtotime-Handbuch hier besagt, dass "die Funktion erwartet, eine Zeichenfolge mit einem englischen Datumsformat zu erhalten".
Was es tatsächlich bedeutet, ist, dass es ein amerikanisches US-Datumsformat wie "mdY" oder "m / d / Y" erwartet.Dies bedeutet, dass ein als "Ymd" angegebenes Datum möglicherweise von falsch interpretiert wird
strtotime
. Sie sollten das Datum im erwarteten Format angeben.Ich habe eine kleine Funktion geschrieben, um Datumsangaben in verschiedenen Formaten zurückzugeben. Verwenden und ändern Sie nach Belieben.
Wenn jemand daraus eine Klasse macht, würde ich mich freuen, wenn das geteilt würde.quelle
Es gibt zwei Möglichkeiten, dies umzusetzen:
1.
2.
quelle
Sie können die
strftime()
Funktion ausprobieren . Einfaches Beispiel:strftime($time, '%d %m %Y');
quelle
Verwenden Sie diese Funktion, um von einem beliebigen Format in ein beliebiges Format zu konvertieren
quelle
Im Folgenden finden Sie PHP-Code zum Generieren des morgigen Datums mit
mktime()
und Ändern des Formats in das Format TT / MM / JJJJ und Drucken mitecho
.quelle
quelle
Sie können das Format mit date () und strtotime () ändern.
$ date = '18.09.2019';
Echodatum ('dm-y', Strtotime ($ date));
Ergebnis:
18-09-19
Wir können das Format ändern, indem wir das (dmy) ändern.
quelle
Für diese spezielle Konvertierung können wir auch eine Formatzeichenfolge verwenden.
Dies funktioniert natürlich nicht für viele andere Datumsformatkonvertierungen, aber da wir in diesem Fall nur Teilzeichenfolgen neu anordnen, ist dies eine andere Möglichkeit, dies zu tun.
quelle
strtotime()
. :-)quelle
Einfache Verwendung
strtotime()
unddate()
:Mit der Zeit
quelle
Verwenden Sie
date_create
unddate_format
Versuche dies.
quelle