Premier jour du mois un an avant

Résolu
Herve_be Messages postés 1176 Statut Membre -  
Herve_be Messages postés 1176 Statut Membre -
Bonjour,
Je voudrais obtenir le premier jour du mois un an avant.
Par exemple nous sommes le 15 avril 2020 : je voudrais le 1er avril 2019.
J'ai essayé
$StarTime = strtotime('first day of month - 1 year');

j'obtiens le 1er janvier 1970 !

Où est l'erreur ?
Merci
A voir également:

4 réponses

jordane45 Messages postés 40050 Statut Modérateur 4 757
 
Bonjour,

le premier jour du mois.. c'est toujours le "1"
Donc

$moisencours  = date('m');
$anneecours  = date('Y');
$anDernier =  (int)$anneecours - 1 ;


$StarTime = date('Y-m-d',strtotime( $anDernier. '-' . $moisencours  . '-01'));
echo $StarTime;



0
yg_be Messages postés 24281 Statut Contributeur Ambassadeur 1 584
 
0
Herve_be Messages postés 1176 Statut Membre 11
 
Merci à tous les deux, les 2 solutions fonctionnent.
Comme j'utilisais avec succès
strtotime('- 1 year midnight')
pour avoir la date un an avant
j'ai préféré la solution de yg_be
strtotime('first day of this month - 1 year')
0
Herve_be Messages postés 1176 Statut Membre 11
 
Question subsidiaire
nous sommes le 15 avril
je voudrais obtenir non pas le 1er avril mais le 1er mai
donc 11 mois avant
strtotime('first day of this month - 11 month')

donne quand même le 1er avril !
Une idée ?
Encore merci
0
Herve_be Messages postés 1176 Statut Membre 11
 
J'ai trouvé tout seul
strtotime('first day of next month - 1 year')
0