J'ai une date dans ce format:
2009-01-01
Comment puis-je retourner la même date mais 1 an plus tôt?
Utilisez la fonction strtotime ():
$time = strtotime("-1 year", time());
$date = date("Y-m-d", $time);
Utilisation de l'objet DateTime ...
$time = new DateTime('2099-01-01');
$newtime = $time->modify('-1 year')->format('Y-m-d');
Ou utiliser maintenant pour aujourd'hui
$time = new DateTime('now');
$newtime = $time->modify('-1 year')->format('Y-m-d');
un moyen plus simple que j'ai utilisé et bien travaillé
date('Y-m-d', strtotime('-1 year'));
cela a fonctionné parfaitement .. espérons que cela aidera quelqu'un d'autre aussi .. :)
// set your date here
$mydate = "2009-01-01";
/* strtotime accepts two parameters.
The first parameter tells what it should compute.
The second parameter defines what source date it should use. */
$lastyear = strtotime("-1 year", strtotime($mydate));
// format and display the computed date
echo date("Y-m-d", $lastyear);
Sur mon site Web, pour vérifier si l'inscription des personnes a 18 ans , j'ai simplement utilisé les éléments suivants:
$legalAge = date('Y-m-d', strtotime('-18 year'));
Après, ne comparez que les deux dates.
J'espère que ça pourrait aider quelqu'un.