Travailler avec les dates et l'heure en PHP : fonctions et exemples

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Introduction : pourquoi savoir travailler avec les dates et l'heure en PHP



Travailler avec les dates et l'heure est l'une des tâches clés du développement web. Qu'il s'agisse de journaliser les actions des utilisateurs, de calculer un âge, de créer des calendriers, de traiter des horodatages provenant d'une base de données ou de gérer les échéances d'abonnement — on ne peut pas se passer d'outils fiables pour manipuler les dates. PHP offre aux développeurs un ensemble puissant et flexible de fonctions et de classes à cet effet.



Dans cet article, nous allons détailler les principales méthodes pour travailler avec les dates et l'heure en PHP : des fonctions simples date() et time() à l'approche orientée objet avec la classe DateTime. Vous apprendrez à formater les dates, à calculer la différence entre elles, à travailler avec les fuseaux horaires et à éviter les erreurs typiques.



Fonctions principales : date(), time() et mktime()



La façon la plus simple d'obtenir la date ou l'heure actuelle en PHP est d'utiliser la fonction date(). Elle accepte une chaîne de format et, optionnellement, un timestamp. Si aucun timestamp n'est fourni, l'heure actuelle est utilisée.



<?php// Date actuelle au format "Année-Mois-Jour"echo date('Y-m-d'); // Affichage : 2025-04-10

// Heure actuelle au format "Heures:Minutes:Secondes"echo date('H:i:s'); // Affichage : 14:35:20

// Date et heure complètesecho date('Y-m-d H:i:s'); // Affichage : 2025-04-10 14:35:20?>


Fonction time()

time() retourne le timestamp Unix actuel (le nombre de secondes écoulées depuis le 1er janvier 1970). C'est utile pour les calculs et les comparaisons.



<?php$now = time();echo $now; // Affichage : 1744277720 (le nombre change chaque seconde)

// Date dans 7 jours$nextWeek = time() + (7 * 24 * 60 * 60);echo date('Y-m-d', $nextWeek); // Affichage : 2025-04-17?>


Fonction mktime()

mktime() permet de créer un timestamp pour une date et une heure spécifiques. C'est pratique lorsque vous avez besoin d'obtenir un timestamp pour des paramètres donnés.



<?php// Création d'un timestamp pour le 25 décembre 2025 à 10:00:00$christmas = mktime(10, 0, 0, 12, 25, 2025);echo date('Y-m-d H:i:s', $christmas); // Affichage : 2025-12-25 10:00:00?>


Formatage des dates : symboles principaux

Le tableau ci-dessous présente les symboles de formatage les plus couramment utilisés pour la fonction date() :

  • d — jour du mois (01–31)
  • m — numéro du mois (01–12)
  • Y — année sur 4 chiffres (2025)
  • H — heures au format 24 heures (00–23)
  • i — minutes (00–59)
  • s — secondes (00–59)
  • l — nom complet du jour de la semaine (Monday)
  • F — nom complet du mois (April)


Approche orientée objet : la classe DateTime

Depuis PHP 5.2, il est recommandé d'utiliser la classe DateTime pour travailler avec les dates. Elle offre beaucoup plus de possibilités et une interface intuitive.



Création d'un objet DateTime

<?php// Date et heure actuelles$date = new DateTime();echo $date->format('Y-m-d H:i:s'); // Affichage : 2025-04-10 14:35:20

// Date spécifique$birthday = new DateTime('1990-07-15');echo $birthday->format('d.m.Y'); // Affichage : 15.07.1990

// Avec un format relatif$nextMonth = new DateTime('+1 month');echo $nextMonth->format('Y-m-d'); // Affichage : 2025-05-10?>


Modification des dates

La méthode modify() permet de modifier facilement une date à l'aide de chaînes relatives.



<?php$date = new DateTime('2025-04-10');$date->modify('+10 days');echo $date->format('Y-m-d'); // Affichage : 2025-04-20

$date->modify('first day of next month');echo $date->format('Y-m-d'); // Affichage : 2025-05-01?>


Diff

Blogs

Book Recommendations