Sélectionner une page

Chargement en cours...

Apprends à manipuler les dates en PHP

05/05/2025 à 11:39

Écrit par Johanny

PHP

Debutant

42 vues

Sommaire

Que vous développiez une application de gestion d’événements, un blog, ou un site e-commerce, les dates sont partout : planification, expiration, publication, statistiques. Bien les manipuler, c’est éviter les bugs liés aux fuseaux horaires, aux formats différents ou aux calculs erronés. Dans cet article, nous allons explorer comment manipuler les dates en PHP, en partant des bases jusqu’aux cas pratiques. Un savoir indispensable pour tout développeur PHP, débutant ou confirmé.

Qu’est-ce qu’une date en PHP ?

En PHP, une date représente une information temporelle : un jour, une heure ou un moment précis dans le temps. Manipuler correctement les dates est essentiel dans des fonctionnalités aussi variées que la publication de contenu, la gestion d’abonnements, la planification de tâches, ou le calcul d’âges et de délais.PHP offre plusieurs manières de représenter une date :
  • Chaîne de caractères : Il s’agit d’un format lisible tel que "2025-05-04 14:00:00". C’est souvent ce qui est échangé avec les bases de données ou les interfaces utilisateur. Facile à manipuler, mais peu fiable pour faire des calculs ou des comparaisons directement.
  • Timestamp Unix : Il représente le nombre de secondes écoulées depuis le 1er janvier 1970 à minuit UTC. Par exemple, 1714838400 correspond à une date précise. Ce format est idéal pour les calculs (durée, différence, tri), mais peu lisible humainement.
  • Objet DateTime : C’est la méthode moderne et recommandée. La classe DateTime permet de manipuler les dates de manière orientée objet : calculs d’intervalles, gestion des fuseaux horaires, comparaison de dates, formatage avancé, etc.
Chaque format a ses usages, mais dans un code bien structuré, il est conseillé de travailler avec les objets DateTime pour tous les traitements logiques, puis de convertir les dates en chaînes uniquement pour l’affichage ou le stockage si nécessaire.
💡 Conseil  : dès que vous manipulez des dates en PHP (calculs, comparaisons, fuseaux horaires), utilisez toujours DateTime et DateInterval. Cela vous évitera de nombreux bugs et vous offrira une bien meilleure maîtrise dans vos applications.

Comment utiliser une date en PHP

Pour utiliser une date en PHP, on commence par la créer à l’aide d’une fonction comme date() ou d’un objet DateTime. Une fois la date instanciée, on peut l’afficher dans un format lisible, la manipuler (ajouter des jours, calculer une différence), ou la comparer à une autre. PHP permet également de convertir une date en timestamp pour effectuer des calculs plus précis. L’approche moderne repose sur l’usage de la classe DateTime, qui offre des méthodes robustes, comme diff() ou format().Enfin, une bonne utilisation des dates implique aussi de tenir compte du fuseau horaire, surtout pour les applications internationales. Ainsi, utiliser une date en PHP, c’est savoir la représenter, la transformer et l’exploiter de façon fiable dans la logique métier d’un projet.

Le Formatage des dates

Avant de commencer, il faut que je vous explique comment bien formater vos dates. En effet, les fonctions date() et format() utilisent des caractères pour composer la date ou l’heure entourée de simple guillemet (single quote) :
CaractèreSignificationExemple
YAnnée (4 chiffres)2025
mMois (2 chiffres)05
dJour (2 chiffres)04
HHeure (24h)13
iMinutes45
sSecondes09
<?php
echo date('d/m/Y à H:i'); 
// Resultats: 04/05/2025 à 13:45
?>

Créer une date en PHP

À présent, je vais te montrer des exemples de code à utiliser pour manipuler les dates :

1. Avec date() et time()

<?php
echo date('Y-m-d'); // Affiche la date du jour
echo time(); // Timestamp actuel
?>
ici, on utilise code() pour récupérer la date sous cette forme : année/mois/jour (il s’agit du système anglo-saxon).

2. Avec DateTime

<?php
$date = new DateTime(); // Maintenant
echo $date->format('Y-m-d H:i:s');
?>
Ici, on instancie la classe Datetime en ne passant rien en paramètre, il récupère la date et l’heure à l’instant T. Puis, va le reformater avec format en indiquant comment le récupérer.

3. Date personnalisée

<?php
$date = new DateTime('2024-12-31 23:59:59');
echo $date->format('d/m/Y H:i');
?>
Ici en entre une date précise qui est le format anglo-saxon pour le convertir en format européen.

Modifier une date en PHP

Ajouter ou soustraire un intervalle de temps

<?php
$date = new DateTime('2025-01-01');
$date->modify('+1 month');
echo $date->format('Y-m-d');
?
Ce code te permet de rajouter 1 mois ou 30 jours à la date passée en paramètre lors de l’instanciation de la classe.

Avec DateInterval

<?php
$date = new DateTime();
$interval = new DateInterval('P7D'); // P = période, 7D = 7 jours
$date->add($interval);
echo $date->format('Y-m-d');
?>
Ce code te retourne la date qu’il fera dans sept jours à l’instant T lors de l’instanciation de la classe. 

Comparer deux dates en PHP

 
<?php
$date1 = new DateTime('2025-01-01');
$date2 = new DateTime('2025-01-10');

if ($date1 < $date2) {
    echo "date1 est avant date2";
}
?>
Ce code te permet de savoir si une date est dépassé. Pratique pour des coupons ou des promos sur un site e-commerce.

Calculer une différence entre deux dates

 
<?php
$diff = $date1->diff($date2);
echo $diff->days . ' jours de différence';
?>
Ici ce code permet de calculer par exemple ou un utilisateur ne s’est pas connecté sur son espace par exemple. 

Gestion des fuseaux horaires

 
<?php
$dateParis = new DateTime('now', new DateTimeZone('Europe/Paris'));
$dateTokyo = new DateTime('now', new DateTimeZone('Asia/Tokyo'));

echo $dateParis->format('H:i');
echo $dateTokyo->format('H:i');
?>

Exercice pratique : Calcul de la date d’expiration d’un abonnement

 Énoncé : un utilisateur s’abonne aujourd’hui pour 30 jours. Affichez la date d’expiration.Allez sur le repo et entrainez vous trouver la bonne réponses. Edit tuto-manipuler des dates (forked)

Bonnes pratiques à retenir

  • 📌 Utilisez DateTime pour les traitements complexes.
  • 🕐 Gérez les fuseaux horaires si votre application est internationale.
  • 🧪 Validez les formats de date en entrée/sortie.
  • 🧹 Ne traitez pas les dates comme de simples chaînes de texte.

Conclusion : Maîtriser les dates, un must-have pour le développeur PHP

La manipulation de dates en PHP est une compétence essentielle. Elle permet de gérer des calendriers, des événements, des délais ou des historiques avec précision. Grâce à la classe DateTime et aux outils associés, PHP offre un écosystème robuste pour traiter les dates de façon professionnelle et sans piège.

Cette article t'a plu ?

Ajoute le premier commentaire

0 Commentaires
Le plus récent
Le plus ancien Le plus populaire
Commentaires en ligne
Afficher tous les commentaires

Rechercher sur le site: