100 votes

Obtenir la date du mois dernier en php

Je veux connaître la date du mois dernier. J'ai écrit ceci:

 $prevmonth = date('M Y');
 

Ce qui me donne le mois / année en cours. Je ne peux pas dire si je devrais utiliser strtotime , mktime . Quelque chose à l'horodatage? Dois-je ajouter quelque chose par la suite à réinitialiser pour que la date ne soit pas réglée au mois dernier pour tous les horodatages de mon site? J'essaie de RTFM mais c'est difficile pour moi de comprendre cela.

259voto

OzzyCzech Points 1509

C'est simple d'avoir la date du mois dernier

 echo date("Y-m-t", strtotime("first day of previous month") ) ;
echo date("Y-m-1", strtotime("first day of previous month") ) ;
 

au 3 mars retour

 2011-02-28
2011-02-1
 

39voto

zombat Points 46702
 echo strtotime("-1 month");
 

Cela affichera l'horodatage du mois dernier exactement. Vous n'avez pas besoin de réinitialiser quoi que ce soit après. Si vous le souhaitez ensuite dans un format anglais, vous pouvez utiliser date () pour formater l'horodatage, c'est-à-dire:

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

20voto

Scharrels Points 2214
$prevmonth = date('M Y', strtotime("last month"));

6voto

Jay_69 Points 71

Trouvé celui-ci faux lorsque les mois précédents est plus court que courant.

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

Essayez le 30 mars et vous obtiendrez le 2012-03-01 au lieu de 2012-02 ...

Travailler sur une meilleure solution ...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X