PHP : Travailler avec les dates

PHP fournit les classe DateTime, DateTimeImmutable et DateInterval qui permettent de travailler et faire des calculs facilement sur les dates

On peux par exemple facilement trouver la date qu’il sera dans X jours de la façon suivante :

$start = new DateTimeImmutable('2017-06-25 09:00');//date de départ (25 jun 2017)
$end = $start->modify('+10 day');//10 jours plus tard
$end->setTime(0,0,0);//on passe l'horaire a 00:00:00
echo $end->format('d/m/Y H:i:s');//affiche : 05/07/2017 09:00:00

On peux aussi connaitre la différence (nombre de jours, mois) entre 2 dates

$start = new DateTimeImmutable('2017-06-25');//date de départ (25 juin 2017)
$end = new DateTimeImmutable('2017-08-31');//date de départ (31 aout 2017)
$interval = $start->diff($end);//on récupère la différence entre ces 2 dates
echo $interval->format('%a jours');//affiche : 67 jours
echo $interval->format('%m mois et %d jours');//affiche : 2 mois et 6 jours

Beaucoup de chose sont possible, ci-dessous on récupère le dernier jour du mois en cours, et le nombre de jours qui nous sépare de cette date

$now = new DateTime();//aujourd'hui
$end = new DateTime($now->format('Y-m-t'));//fin du mois
$interval = $now->diff($end);//on récupére la différence entre ces 2 dates
echo $interval->format('%a jours');//on affiche le nombre de jour entre ajourd'hui et la fin du mois

Pour plus d’informations il suffit de se reporter à la documentation PHP

1 réflexion sur « PHP : Travailler avec les dates »

  1. Andrianjafitrema

    Bonjour
    Tres interessé par vos pense betes j ai un gros souci avec mon projet
    En effet j ai 2 tables
    Table 1 contient id,nom,date debut, date fin
    Table 2 contient fk_id, date_jour (qui doit correspondre aux lignes jour par jour selon table1.datedebut et table1.datefin)
    Vous pouvez me donner une petite astuce
    Je travaille surtout sur php pdo

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.