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,
1714838400correspond à 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
DateTimepermet 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.
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 combien il est important de 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ère | Signification | Exemple |
|---|---|---|
| Y | Année (4 chiffres) | 2025 |
| m | Mois (2 chiffres) | 05 |
| d | Jour (2 chiffres) | 04 |
| H | Heure (24h) | 13 |
| i | Minutes | 45 |
| s | Secondes | 09 |
<?php echo date('d/m/Y à H:i');
// Resultats: 04/05/2025 à 13:45
?>
Apprendre à 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() ( ancienne methode )
<?php
echo date('Y-m-d'); // Affiche la date du jour au standard français
echo time(); // Timestamp actuel
?>Ici, on utilise date() pour récupérer la date sous cette forme : année/mois/jour (format anglo-saxon).
2. Avec DateTime en PHP (méthode moderne)
<?php
$date = new DateTime(); // Maintenant
echo $date->format('Y-m-d H:i:s');
?>Ici, on instancie la classe DateTime( qui est la methode moderne) sans paramètre pour récupérer la date et l’heure actuelles, puis on la formate.
3. Date personnalisée (en modifiant son format)
<?php
$date = new DateTime('2024-12-31 23:59:59');
echo $date->format('d/m/Y H:i');
?>Ici, on entre une date précise au format anglo-saxon pour l’afficher au format européen.
Comment manipuler une date en PHP
Nous allons nous interresser à la classe Datetime en php. qui est le méthode moderne au vu de sa simplicité.
Ajouter ou soustraire un intervalle de temps avec Datetime en php
<?php
$date = new DateTime('2025-01-01');
$date->modify('+1 month');
echo $date->format('Y-m-d');
?>Ce code permet d’ajouter 1 mois à la date initialisée. interressant pour calculer des periodes ( abonnements, paiements recurrents,…)
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 retourne la date qu’il fera dans sept jours.
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 permet de vérifier si une date est dépassée (pratique pour des coupons ou des promos e-commerce).
Calculer une différence entre deux dates
<?php
$date1 = new DateTime('2025-01-01');
$date2 = new DateTime('2025-01-10');
$diff = $date1->diff($date2);
echo $diff->days . ' jours de différence';
?>Utile pour calculer le temps écoulé depuis la dernière connexion d’un utilisateur 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 entraînez-vous à trouver la bonne réponse :
Bonnes pratiques à retenir
- Utilisez
DateTimepour 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, c’est une etape essentiel 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.







