2016-12-22 4 views
0

ich ein Datumsfeld habe ich von Wordpress ziehen, wo das Standardformat ist:PHP-Datumsformatierung nicht funktioniert wen mit date_format()

16/12/2016

Schon eine Weile, da ich gespielt mit PHP, aber ich erinnere mich an die Art und Weise Daten zu formatieren war: echo date_format($date,"[format syntax]");

aber wenn ich

$date = myWPField; 
echo date_format($date,"F d, y"); 

tun, wenn das Datum nicht angezeigt.

Was fehlt mir. Hat sich das geändert?

+0

ist ein Fehler aufgetreten? ist das myWPField DateTime-Objekt? –

Antwort

0

Da Ihr Datum kein akzeptables Format in date_create wie mm/dd/yy(yy) oder mm-dd-yy(yy) ist

Verwendung von PHP DateTime::createFromFormat Funktion stattdessen diese Funktion erkennen kann, in welchem ​​Format Sie

(PHP 5> = 5.3.0, PHP 7) Datumzeit :: createFromFormat - date_create_from_format - Analysiert einen Zeitzeichenfolge gemäß einem vorgegebenen Format

$date = '16/12/2016'; 
$show_date = DateTime::createFromFormat('d/m/Y', $date)->format('F d, y'); 

Demo

0

Wenn Sie das Datenformat form string verwenden, verwenden Sie das Schrägstrichformat im Format MM/TT/JJ (JJ). Also in Ihrem Code ist Ihre erste 16 standardmäßig nicht erlaubt, Sie müssen angeben, in welchem ​​Format aus der Zeichenfolge zu erstellen ist.

Beachten Sie, dass wenn Sie ein neues Date-Objekt mit einem Format mit Schrägstrichen und Bindestrichen (zB 02-02-2012 or 02/02/2012) schaffen es im mm/dd/yy(yy) oder mm-dd-yy(yy) Format sein (eher als britisches Format dd/mm/yy)! Monate immer vor Jahren (der amerikanische Stil), sonst erhalten Sie ein falsches Datum und erhalten möglicherweise einen Fehler wie oben (wo PHP beim Versuch, einen 13. Monat zu dekodieren) abstürzt.

Verwandte Themen