Warum gibt es 00:00:00 zurück -0001-11-30 00:00:00? [Duplikat]

9

Vorweg habe ich diese Frage gelesen:

So verhindern Sie, dass PHP ein DateTime-Objekt mit dem Wert" prime "in" -0001-11-30 "konvertiert

Aber ich bekomme nicht warum 0000-00-00 00:00:00 ändert sich zu -0001-11-30 00:00:00, wenn ich diesen Code ausführe:

%Vor%

Wenn ich es mit 0001-00-00 00:00:00 versuche, bekomme ich:

%Vor%

und mit 0001-01-01 00:00:00 bekomme ich:

%Vor%

und mit 0000-00-01 00:00:00:

%Vor%

Gibt es einen bestimmten Grund, warum es immer ein Jahr / Tag / Monat vor dem nicht existierenden Datum ist?

Stimmt etwas nicht mit den Funktionen date_create oder date_format ?

Ich merke, dass die Uhrzeit richtig angezeigt wird und wahrscheinlich weil die Zeit 00:00:00 existiert.

    
Loko 28.04.2015, 11:01
quelle

3 Antworten

2

Es ist wie @Mark Baker sagte, 0000-00-00 00:00:00 ist ein ungültiges Datum, weil es keinen Monat Null gibt, kein Tag Null .... also ist es Monat 1 (Jan) - 1 (Dez des vorherigen Jahres) und Tag 1 - 1 (Geht zum letzten Tag des vorherigen Monats und gibt den 30. November an).

Wenn Sie in date_create näher genug zu diesem Verhalten sehen. Er sagt DateTime erkennt eine beliebige Anzahl bis zu 12 als [month] und eine beliebige Anzahl bis zu 31 als [day] ; Es berechnet das resultierende Datum als [day] Tage nach dem Start von [month] . Dies bedeutet, dass wenn ein datetime -Objekt mit mehr Tagen erstellt wird, als in diesem Monat gefunden werden, das Datum über das Ende des Monats hinausgeht. Dies gilt auch, wenn das Erstellungsdatum ein ungültiges Datum ist. :)

    
Eko Junaidi Salam 28.04.2015 11:13
quelle
0

Dies ist ein bekanntes Problem mit der DateTime-Funktion in PHP. Die Datetime-Funktion hat keine ordnungsgemäße Fehlerbehandlung.

Andere Funktionen wie strtotime behandelt es richtig.

Sie können lesen dies für mehr Referenz.

    
chandresh_cool 28.04.2015 11:13
quelle
-2

Könnte Ihre Server-Zeitzone oder eine Zeitanpassung sein.

Versuchen Sie, die Zeitzone neu einzustellen (

) %Vor%

Ссылка

    
Ciprian 28.04.2015 11:06
quelle

Tags und Links