Fonction PHP Date() & Time : Comment obtenir l'horodatage actuel ?
โก Rรฉsumรฉ intelligent
La fonction PHP `date()` permet de formater les horodatages en dates et heures lisibles. Ce guide explique la syntaxe des dates, le format d'horodatage Unix, comment afficher et dรฉfinir les fuseaux horaires, la fonction `mktime` pour crรฉer des horodatages, ainsi qu'une documentation complรจte sur les caractรจres de formatage de l'heure, du jour, du mois et de l'annรฉe.

Fonction PHP date()
La fonction PHP `date` est une fonction intรฉgrรฉe qui simplifie la manipulation des donnรฉes de type date. Elle permet de formater une date ou une heure dans un format lisible. On peut l'utiliser pour afficher la date de publication d'un article ou la date de derniรจre mise ร jour des donnรฉes d'une base de donnรฉes.
Syntaxe et exemple de date PHP
La fonction PHP date() possรจde la syntaxe de base suivante.
<?php date(format,[timestamp]); ?>
ICI,
- ยซ date(โฆ) ยป est la fonction qui renvoie lโhorodatage actuel formatรฉ en PHP sur le serveur.
- ยซ format ยป dรฉsigne le format gรฉnรฉral que nous souhaitons pour notre sortie, par exemple :
- ยซ Ymd ยป correspond au format de date PHP AAAA-MM-JJ.
- ยซ Y ยป pour afficher l'annรฉe en cours
- Le paramรจtre ยซ [timestamp] ยป est facultatif. Si aucun horodatage nโest fourni, PHP utilisera la date et lโheure actuelles du serveur.
Prenons un exemple simple qui affiche l'annรฉe en cours.
<?php echo date("Y"); ?>
Sortie :
2026
Qu'est-ce qu'un horodatage ?
En PHP, un horodatage est une valeur numรฉrique en secondes entre l'heure actuelle et la valeur ร l'instant 1.st Janvier 1970 00:00:00 Heure moyenne de Greenwich (GMT).
La valeur renvoyรฉe par la fonction time dรฉpend du fuseau horaire par dรฉfaut.
Le fuseau horaire par dรฉfaut est dรฉfini dans le fichier php.ini. Il peut รฉgalement รชtre dรฉfini par programmation ร l'aide de la fonction date_default_timezone_set.
Le code ci-dessous affiche l'horodatage actuel.
<?php
echo time();
?>
En supposant que vous ayez enregistrรฉ le fichier timestamp.php dans le dossier phptuts, accรฉdez ร URL http://localhost/phptuts/timestamp.php
Remarque : la valeur de lโhorodatage nโest pas constante. Elle change chaque seconde.
Obtenir une liste des identifiants de fuseau horaire disponibles
Avant d'examiner comment dรฉfinir le fuseau horaire par dรฉfaut par programmation, voyons comment obtenir la liste des fuseaux horaires pris en charge.
<?php $timezone_identifiers = DateTimeZone::listIdentifiers(); foreach($timezone_identifiers as $key => $list){ echo $list . "<br/>"; } ?>
ICI,
- L'instruction ยซ $timezone_identifiers = DateTimeZone::listIdentifiers(); ยป appelle la mรฉthode statique listIdentifiers de la classe intรฉgrรฉe DateTimeZone. Cette mรฉthode renvoie une liste d'identifiants qui sont affectรฉs ร la variable $timezone_identifiers.
- La boucle ยซ foreach{โฆ} ยป parcourt le tableau et affiche les valeurs.
En supposant que vous ayez enregistrรฉ le fichier list_time_zones.php dans le dossier phptuts, accรฉdez ร URL http://localhost/phptuts/list_time_zones.php
PHP dรฉfinit le fuseau horaire par programme
La fonction date_default_timezone_set permet de dรฉfinir le fuseau horaire par dรฉfaut ร partir d'un script PHP.
Le fuseau horaire dรฉfini sera alors utilisรฉ par toutes les dates Fonctions PHP dans vos scripts. Sa syntaxe est la suivante.
<?php date_default_timezone_set(string $timezone_identifier); ?>
ICI,
- ยซ date_default_timezone_set() ยป est la fonction qui dรฉfinit le fuseau horaire par dรฉfaut
- "string $timezone_identifier" est l'identifiant du fuseau horaire
Le script ci-dessous affiche l'heure selon le fuseau horaire par dรฉfaut dรฉfini dans php.ini. Il modifie ensuite le fuseau horaire par dรฉfaut pour Asia/Calcutta et affiche ร nouveau l'heure.
<?php echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s"); date_default_timezone_set("Asia/Calcutta"); echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s"); ?>
En supposant que vous ayez enregistrรฉ le fichier set_time_zone.php dans le dossier phptuts, accรฉdez ร URL http://localhost/phptuts/set_time_zone.php
Fonction PHP Mktime
La fonction mktime renvoie l'horodatage dans un Unix le format.
Il a la syntaxe suivante.
<?php mktime(hour, minute, second, month, day, year, is_dst); ?>
ICI,
- "mktime(โฆ)" est la fonction d'horodatage make PHP
- ยซ Heure ยป est facultatif ; il s'agit du numรฉro de l'heure.
- ยซ Minute ยป est facultatif ; il s'agit du nombre de minutes.
- ยซ seconde ยป est facultatif ; il s'agit du nombre de secondes.
- Le champ ยซ mois ยป est facultatif ; il s'agit du numรฉro du mois.
- Le terme ยซ jour ยป est facultatif ; il s'agit du numรฉro du jour.
- ยซ Annรฉe ยป est facultatif ; il sโagit du numรฉro de lโannรฉe.
- Le paramรจtre ยซ is_dst ยป est facultatif ; il sert ร dรฉterminer lโheure dโรฉtรฉ (DST). La valeur 1 indique que lโheure dโรฉtรฉ est en vigueur, 0 si elle ne lโest pas, et -1 si elle est inconnue.
Examinons maintenant un exemple qui crรฉe un horodatage pour la date du 13/10/2025 ร l'aide de la fonction mktime.
<?php
echo mktime(0,0,0,10,13,2025);
?>
ICI,
- ยซ 0,0,0 ยป reprรฉsente respectivement lโheure, les minutes et les secondes.
- "10" est le mois de l'annรฉe
- "13" est le jour du mois
- "2025" est l'annรฉe
Sortie :
1760328000
Rรฉfรฉrence du format de date PHP
Les tableaux ci-dessous prรฉsentent les caractรจres de formatage courants utilisรฉs lors de l'utilisation des fonctions de date PHP.
Paramรจtres de temps
| Paramรจtres | Description | Exemple |
|---|---|---|
| "R" | Renvoie la date et l'heure complรจtes |
<?php echo date("r"); ?> |
| ยซ un ยป, ยซ A ยป | Indique si l'heure actuelle est respectivement am ou pm, AM ou PM |
<?php echo date("a"); echo date("A"); ?> |
| ยซ g ยป, ยซ G ยป | Renvoie l'heure sans les zรฉros non significatifs [1 ร 12], [0 ร 23] respectivement |
<?php echo date("g"); echo date("G"); ?> |
| ยซ h ยป, ยซ H ยป | Renvoie l'heure avec les zรฉros non significatifs [01 ร 12], [00 ร 23] respectivement |
<?php echo date("h"); echo date("H"); ?> |
| "est" | Renvoie les minutes/secondes avec les zรฉros non significatifs [00 ร 59] |
<?php echo date("i"); echo date("s"); ?> |
Paramรจtres du jour
| Paramรจtres | Description | Exemple |
|---|---|---|
| "rรฉ" | Renvoie le jour du mois avec les zรฉros non significatifs [01 ร 31] |
<?php echo date("d"); ?> |
| "je" | Renvoie le jour du mois sans les zรฉros non significatifs [1 ร 31] |
<?php echo date("j"); ?> |
| "Rร" | Renvoie les 3 premiรจres lettres du nom du jour [Dim ร Sam] |
<?php echo date("D"); ?> |
| ยซLยป | Renvoie le nom du jour de la semaine [du dimanche au samedi] |
<?php echo date("l"); ?> |
| "w" | Renvoie le jour de la semaine sans zรฉros non significatifs [de 0 ร 6] ; dimanche est reprรฉsentรฉ par zรฉro (0) et samedi par six (6). |
<?php echo date("w"); ?> |
| "Z" | Renvoie le jour de l'annรฉe sans espaces [0 ร 365] |
<?php echo date("z"); ?> |
Paramรจtres du mois
| Paramรจtres | Description | Exemple |
|---|---|---|
| "M" | Renvoie le numรฉro du mois avec les zรฉros non significatifs [01 ร 12] |
<?php echo date("m"); ?> |
| ยซNยป | Renvoie le numรฉro du mois sans les zรฉros non significatifs [1 ร 12] |
<?php echo date("n"); ?> |
| "M" | Renvoie les 3 premiรจres lettres du nom du mois [janvier ร dรฉcembre] |
<?php echo date("M"); ?> |
| "F" | Renvoie le nom du mois [janvier ร dรฉcembre] |
<?php echo date("F"); ?> |
| ยซTยป | Renvoie le nombre de jours dans un mois [28 ร 31] |
<?php echo date("t"); ?> |
Paramรจtres de l'annรฉe
| Paramรจtres | Description | Exemple |
|---|---|---|
| "L" | Renvoie 1 si c'est une annรฉe bissextile et 0 si ce n'est pas une annรฉe bissextile. |
<?php echo date("L"); ?> |
| "Y" | Renvoie l'annรฉe au format ร quatre chiffres |
<?php echo date("Y"); ?> |
| "Y" | Renvoie l'annรฉe au format ร deux chiffres (00 ร 99). |
<?php echo date("y"); ?> |



