J'ai besoin de calculer l'horodatage d'il y a exactement 7 jours en utilisant PHP, donc si c'est actuellement le 25 mars à 19h30, il retournerait l'horodatage du 18 mars à 19h30.
Dois-je simplement soustraire 604800 secondes de l'horodatage actuel, ou existe-t-il une meilleure méthode?
strtotime("-1 week")
strtotime est votre ami
echo strtotime("-1 week");
echo strtotime("-1 week");
Il y a l'exemple suivant sur PHP.net
<?php
$nextWeek = time() + (7 * 24 * 60 * 60);
// 7 days; 24 hours; 60 mins; 60secs
echo 'Now: '. date('Y-m-d') ."\n";
echo 'Next Week: '. date('Y-m-d', $nextWeek) ."\n";
// or using strtotime():
echo 'Next Week: '. date('Y-m-d', strtotime('+1 week')) ."\n";
?>
Changer + en - sur la première (ou dernière) ligne obtiendra ce que vous voulez.
Depuis PHP 5.2 vous pouvez utiliser DateTime :
$timestring="2015-03-25";
$datetime=new DateTime($timestring);
$datetime->modify('-7 day');
echo $datetime->format("Y-m-d"); //2015-03-18
Au lieu de créer DateTime
avec une chaîne, vous pouvez setTimestamp directement sur l'objet:
$timestamp=1427241600;//2015-03-25
$datetime=new DateTime();
$datetime->setTimestamp($timestamp);
$datetime->modify('-7 day');
echo $datetime->format("Y-m-d"); //2015-03-18
<?php
$before_seven_day = $date_timestamp - (7 * 24 * 60 * 60)
// $date_timestamp is the date from where you found to find out the timestamp.
?>
vous pouvez également utiliser la fonction chaîne de temps pour convertir la date en horodatage. comme
strtotime(23-09-2013);