web-dev-qa-db-fra.com

Obtenez l'horodatage d'il y a exactement une semaine en PHP?

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?

37
Mike Crittenden
strtotime("-1 week")
81
SilentGhost

strtotime est votre ami

echo strtotime("-1 week");
26
Ben Everard

http://php.net/strtotime

echo strtotime("-1 week");
11
Aaron W.

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.

9
Luís Guilherme

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
4
Paweł Tomkiel
<?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);
0
Navdeep Singh