Premier jour du mois un an avant

Résolu
Herve_be Messages postés 1123 Date d'inscription   Statut Membre Dernière intervention   -  
Herve_be Messages postés 1123 Date d'inscription   Statut Membre Dernière intervention   -
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
0
Herve_be Messages postés 1123 Date d'inscription   Statut Membre Dernière intervention   10
 
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 1123 Date d'inscription   Statut Membre Dernière intervention   10
 
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 1123 Date d'inscription   Statut Membre Dernière intervention   10
 
J'ai trouvé tout seul
strtotime('first day of next month - 1 year')
0