Comment calculer le nombre de jours entre deux dates en PHP ?

Réponses rédigées par Antoine
Dernière mise à jour : 2018-03-08 17:53:29
Thèmes : webmaster - php - date
Question

J'ai deux dates sous la forme suivante :

Date 1 : 2012-06-01 02:12:51 Date 2 : 2017-05-12 11:10:00

Comment puis-je calculer le nombre de jours entre ces deux dates avec PHP.

Merci.

Réponse

Tu peux calculer le nombre de jours entre deux dates avec DateTime::diff.

<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
date_default_timezone_set('Europe/Paris');
$date_debut = "2012-06-01 02:12:51";
$date_fin =  "2017-05-12 11:10:00";
$date1 = new DateTime($date_debut);
$date2 = $date1->diff(new DateTime($date_fin));
echo "Il y a ".$date2->days." jours entre ".$date_debut." et ".$date_fin;
?>

Plus d'info sur http://php.net/manual/fr/datetime.diff.php

Réponse

Une autre solution pour calculer le nombre de jours entre deux dates en PHP consiste à utiliser la fonction strtotime, et ensuite la fonction round pour arrondir.

<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
date_default_timezone_set('Europe/Paris');
$date_debut = strtotime("2012-06-01 02:12:51"); 
$date_fin = strtotime("2017-05-12 11:10:00"); 
echo "Il y a ".round(($date_fin - $date_debut)/60/60/24,0)." jours entre les deux dates";
?>