Bonjour,
Je souhaite afficher la veille du jour avec mktime.
Mais ça ne marche pas, c'est toujours la date du jour qui est affichée.Code:$date=date("Y-m-d",mktime(date('m'),date('d')-1,date('y')));
Merci d'avance
Débutant PHP
Version imprimable
Bonjour,
Je souhaite afficher la veille du jour avec mktime.
Mais ça ne marche pas, c'est toujours la date du jour qui est affichée.Code:$date=date("Y-m-d",mktime(date('m'),date('d')-1,date('y')));
Merci d'avance
Débutant PHP
Salut,
Y'a plus simple :
Code:
1
2 $date = date('Y-m-d', time() - 86400);
Je serais plus partisan du strtotime()
Ça évite de se trimballer des chiffres et permet de faire une soustraction de X jours plus facilement.Code:$date = date('Y-m-d', strtotime('-1 day'));
Les trois premiers arguments de mktime() sont heures, minutes, secondes.
Il faut se méfier quand on travaille sur des temps : il y a deux jours par ans qui ne font pas 86400 secondes.
Il y a des mécanismes intégrés à PHP pour bien gérer ça :Code:
1
2 echo date('Y-m-d', strtotime('2012-10-28 23:59') - 86400); //2012-10-28
Code:
1
2 $hier = new DateTime('Yesterday'); echo date_format($hier, 'Y-m-d');
Merci à tous pour vos interventions. J'ai adopté la solution de Torgar qui me va comme un gant.