web-dev-qa-db-fra.com

PHP strtotime: Obtenez le mois précédent

Duplicata possible:
Comment obtenir le mois et l'année précédents par rapport à aujourd'hui, en utilisant strtotime et date?

Aujourd'hui est le 31 décembre mais strtotime("-1 months") renvoie décembre:

echo date("Y-m", strtotime("-1 months"));

Idem pour strtotime("last month")

Comment puis-je retourner correctement le mois précédent (novembre)?

Test: http://codepad.viper-7.com/XvMaMB

19
Martin
strtotime("first day of last month")

Le first day of est la partie importante telle que détaillée sur la page de manuel Formats relatifs .


Exemple: http://codepad.viper-7.com/dB35q8 (avec la date d'aujourd'hui codée en dur)

31
salathe

strtotime("-1 months") serait 2012-11-31, mais il n'y a pas de 31 novembre. Il est passé un jour 2012-11-30, Ce qui donne 2012-12-01. Vous le verrez quand vous le ferez

echo date("Y-m-d", strtotime("-1 months"));

donne en sortie

2012-12-01

Voir codepad

10
Olaf Dietsche