Page 1 sur 1

Premier jour du mois dernier

Posté : 30 mars 2009, 10:32
par zazadec
Petite formule pour trouver le premier jour du mois dernier :
$myDateDebutMois=date("Y-m-01", strtotime('-1 month'));
Cette formule marchait jusqu'à aujourd'hui. Aujourd'hui 30/03/2009 cette formule me retourne 2009-03-02.

Expliquons pourquoi ?
$myDateDebutMois=date("Y-m-d", strtotime('-1 month'));
Cette formule donne 2009-03-02. soit ajourd'hui 2009-03-30 moins 28 jours (nbre de jours de février).
Ce que je comprends. Mais c'est pas ce que je veux. Je veux que cette formule affiche 2009-02-01

Quelqu'un saurais comment retrouver le premier jour du mois précédent ?

En cherchant un peu mieux, j'ai trouvé la solution.
En fait il ne faut pas faire
$myDateDebutMois=date("Y-m-01", strtotime('-1 month'));
car il calcule le premier jour du moi en cours mois le nbre de jours du mois en cours. il faut remplacer par premier jour du mois en cours moins le nombre de jours du mois précédent. Donc :
$myNbreJourDsMois = NbrJourDsMois(date("m",strtotime("-1 month")),date("Y"));
$myDateDebutMois=date("Y-m-01", strtotime("-".$myNbreJourDsMois." day"));