Verwenden Sie den folgenden Code, um zu versuchen und Y-m-d zu erhalten, und sollte 2016-05-10 zurückgeben, aber es wird stattdessen 2016-10-05 zurückgegeben.PHP-Datum Problem beim Konvertieren mit strtotime, aber wie man das richtig macht?
// m-d-Y (Month-Day-Year)
$test_date = '05-10-2016';
// Convert to Y-m-d
$convert_date = date('Y-m-d', strtotime($test_date));
echo $convert_date;
Wie bekomme ich "Y-m-d" zurück? Nicht versuchen, explode('-', $test_date)
zu verwenden. Ist das mit richtigen Zeitfunktionen möglich?
willkommen in der wunderbaren welt von strtotime. Sie haben '-' verwendet, um die Komponenten zu trennen, also entscheidet strtotime, dass es TT-MM-JJJJ ist. Wenn du '/' benutzt hättest, würde es als 'MM/TT/JJJJ' behandelt werden. Verwenden Sie ** ** ** ** nicht, um mehrdeutige Eingaben zu analysieren. in der Tat, wenn Sie das Format der Datumszeichenkette im Voraus kennen, versuchen Sie nicht einmal, strtotime zu verwenden. benutze 'date_create_from_format()' und erhalte ein 100% zuverlässiges Parsing. –
Wow, danke, wusste das nicht. –
[PHP Dokumentation von Datumsformaten für strtotime()] (http://www.php.net/manual/en/datetime.formats.date.php) –