2016-03-30 12 views
1

Ich habe ein Problem mit PHP Datum Subtrahieren 1 Monat im aktuellen DatumPHP Datum -1 Monat heute funktioniert nicht

Ich habe diesen Code.

$date = date("Y-m-d H:i:s", strtotime("-1 month")); 

echo $date; 

mit einem Ergebnis davon? vermisse ich etwas.

2016-03-01 23:21:20 
+2

Sie machen Annahmen über was heute -1 Monat sein sollte; heute ist der 30. März; Es gibt keinen 30. Februar, also was würdest du erwarten –

Antwort

4

Heute ist 30. März vor 1 Monat Februar war 30. Aber nur Februar dieses Jahr 29 Tage hatte 30 so 1. Februar das gleiche wie März ist

Sie werden in das Problem laufen auf die folgenden Tage, da an diesem Tag des Monats nicht existiert im Vormonat:

  • 29. März (in nicht-Schaltjahren)
  • März 30-31
  • 31. Mai
  • 31. Juli
  • 31. Oktober
  • 31. Dezember
+0

so ist es ein Problem, wenn der Monat März ist, – xydboom

+0

Es ist ein Problem, wenn der aktuelle Monat länger als der vorherige Monat ist, und Sie verwenden es an den Tagen, die nicht ' t existieren im kürzeren Monat. – Barmar

+1

Sie werden am 31. Mai auf das gleiche Problem stoßen. – Barmar

0

Wenn Sie gehen zurück einen Monat ab 2016.03.30, erhalten Sie 2016.02.30. Allerdings war 2016-02-29 der letzte Tag im Februar, daher wird das Datum 2016-03-01 festgelegt.

Verwandte Themen