Heim >Backend-Entwicklung >PHP-Tutorial >Warum schlägt strtotime() bei Datumsangaben TT/MM/JJJJ fehl und wie kann ich das Problem beheben?

Warum schlägt strtotime() bei Datumsangaben TT/MM/JJJJ fehl und wie kann ich das Problem beheben?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-11 16:52:11116Durchsuche

Why Does strtotime() Fail with dd/mm/YYYY Dates, and How Can I Fix It?

strtotime() kann das TT/MM/JJJJ-Format nicht verarbeiten

Die Funktion strtotime() erweist sich als besonders nützlich für die Datumsverarbeitung. Es fehlt jedoch eine umfassende Dokumentation zu unterstützten Datumsformaten, insbesondere wenn es um TT/MM/JJJJ geht. Versuche, dieses Format in strtotime() zu verwenden, schlagen fehl, da nur das Format mm/dd/YYYY erkannt wird.

Konvertieren von dd/mm/YYYY in YYYY-mm-dd

Explode() kann zur Lösung dieses Problems eingesetzt werden, es gibt jedoch einen einfacheren Ansatz. So konvertieren Sie ein TT/MM/JJJJ-Datum in das Format JJJJ-MM-TT:

  1. Ersetzen Sie alle Schrägstriche (/) durch Bindestriche (-): $date = str_replace('/', '-' , $date);
  2. Verwenden Sie strtotime(), um die geänderte Datumszeichenfolge zu analysieren und sie mit date() zu formatieren: echo date('Y-m-d', strtotime($date));

Beispiel:

$date = '25/05/2010';
$date = str_replace('/', '-', $date);
echo date('Y-m-d', strtotime($date));

Ausgabe:

2010-05-25

Hinweis:

Die In der strtotime()-Dokumentation wird klargestellt: „Datumsangaben in den Formaten m/d/y oder d-m-y werden anhand des Trennzeichens zwischen den verschiedenen Komponenten eindeutig gemacht: Wenn das Trennzeichen ein Schrägstrich (/) ist, wird das amerikanische m/d/y angenommen ; wenn das Trennzeichen ein Bindestrich (-) oder ein Punkt (.) ist, wird das europäische d-m-y-Format angenommen.“

Das obige ist der detaillierte Inhalt vonWarum schlägt strtotime() bei Datumsangaben TT/MM/JJJJ fehl und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn