Comment obtenir ou formater la Date et l’heure en PHP

Dans cet article, je vais vous aider à obtenir ou à formater la date et l’heure en PHP.

La fonction PHP date()

La fonction PHP date() convertit un timestamp en une date et heure plus lisibles pour l’utilisateur.

L’ordinateur stocke les dates et les heures dans un format appelé UNIX Timestamp, qui mesure le temps en nombre de secondes depuis le début de l’époque Unix (à minuit le 1er janvier 1970, c’est-à-dire le 1er janvier 1970 00:00:00).

Comme il s’agit d’un format peu pratique à lire pour les humains, PHP convertit un timestamp dans un format lisible par les humains et transforme votre notation en un timestamp compris par l’ordinateur. La syntaxe de la fonction PHP date() peut être donnée par .

php date
date(format, timestamp)

Le paramètre format de la fonction date() est obligatoire et spécifie le format de la date et de l’heure renvoyées. Cependant, le timestamp est un paramètre facultatif. S’il n’est pas inclus, la date et l’heure actuelles seront utilisées. L’instruction suivante affiche la date du jour :

php date
$date_french = date("d/m/Y");
echo $date_french;

Résultat : 

19/02/2022

Note : La fonction PHP date() renvoie la date et l’heure actuelles selon l’horloge intégrée du serveur web sur lequel le script a été exécuté.

Formatage des dates et des heures avec PHP

Le paramètre de format de la fonction php date() est en fait une chaîne qui peut contenir plusieurs caractères permettant de générer une chaîne de caractères contenant divers composants de la date et de l’heure, comme le jour de la semaine, le jour ou le mois en toute lettres, etc. Voici quelques-uns des caractères de formatage liés à la date qui sont couramment utilisés dans la chaîne de format :

  • d – Représentation du jour du mois ; deux chiffres avec des zéros en tête (01 ou 31)
  • D – Représenter le jour de la semaine dans le texte sous forme d’abréviation (Lun à Dim)
  • m – Représenter le mois en chiffres avec des zéros en tête (01 ou 12)
  • M – Représenter le mois en texte, en abrégé (Jan à Dec)
  • y – Représenter l’année en deux chiffres (08 ou 14)
  • Y – Représenter l’année en quatre chiffres (2008 ou 2014)
Les parties de la date peuvent être séparées en insérant d’autres caractères, comme des tirets (-), des points (.), des barres obliques (/) ou des espaces pour ajouter un formatage visuel supplémentaire.
php date format
echo date("d/m/Y") . "<br>";
echo date("d-m-Y") . "<br>";
echo date("d.m.Y");

Résultat : 

19/02/2022
19-02-2022
19.02.2022

Conseil : vous pouvez utiliser la fonction PHP date() pour mettre automatiquement à jour la durée du droit d’auteur sur votre site Web, comme suit : Copyright © 2022

Formater l'heure avec la fonction php date

De même, vous pouvez utiliser les caractères suivants pour formater la chaîne de temps :
  • h – Représentation de l’heure au format 12 heures avec des zéros en tête (01 à 12)
  • H – Représentation de l’heure au format 24 heures avec des zéros en tête (00 à 23)
  • i – représente les minutes avec des zéros en tête (00 à 59)
  • s – Représentation des secondes avec des zéros en tête (00 à 59)
  • a – Représentation en minuscules ante meridiem et post meridiem (am ou pm)
  • A – Représentation en majuscules Ante meridiem et Post meridiem (AM ou PM)
Le code PHP de l’exemple suivant affiche la date dans différents formats :
php date format
echo date("h:i:s") . "<br>";
echo date("F d, Y h:i:s A") . "<br>";
echo date("h:i a");

Résultat : 

10:30:40
February 19, 2022 10:30:40 PM
10:30 pm

La fonction PHP time()

La fonction time() est utilisée pour obtenir l’heure actuelle sous la forme d’un timestamp Unix (le nombre de secondes depuis le début de l’époque Unix : 1er janvier 1970 00:00:00 GMT).
php timestamp
$timestamp = time();
echo $timestamp;

Résultat : 

1645303037

Nous pouvons convertir ce timestamp en une date lisible par l’homme en le passant à la fonction php date introduite précédemment.

php timestamp to date
$timestamp = 1645303037;
echo date("d F Y h:i:s", $timestamp);

Résultat : 

19 February 2022 08:37:17

La fonction PHP timestamp mktime()

La fonction mktime() est utilisée pour créer le timestamp basé sur une date et une heure spécifiques. Si aucune date et heure n’est fournie, le timestamp pour la date et l’heure actuelles est renvoyé.

La syntaxe de la fonction mktime() peut être donnée par :

php timestamp
mktime(heure, minute, seconde, mois, jour, année)

L’exemple suivant affiche le timestamp correspondant à 10:20:12 le 19 février 2022 :

php date to timestamp
echo mktime(10, 20, 12, 2, 19, 2022);

Résultat : 

1645266012

Note : Vous pouvez omettre autant d’arguments que vous le souhaitez, et la valeur correspondant à l’heure actuelle sera utilisée à la place. Si vous omettez tous les arguments, la fonction mktime() retournera le timestamp UNIX correspondant à la date et à l’heure actuelles, tout comme time().

php date
//  Obtenir le nom du jour de la semaine d une date particulière
echo date('l', mktime(0, 0, 0, 4, 1, 2022));

Résultat : 

Friday

La fonction mktime() peut également être utilisée pour trouver une date particulière dans le futur après une période de temps spécifique. Comme dans l’exemple suivant, qui affiche la date qui tombe après 30 mois de la date actuelle ?

php date interval
$date = mktime(0, 0, 0, date("m")+30, date("d"), date("Y"));
echo date("d/m/Y", $date);

Résultat : 

19/08/2024

Les fonctions de date et d'heure de PHP 7

Voici une liste complète des fonctions de date et d’heure de PHP 7. Ces fonctions font partie du noyau de PHP, vous pouvez donc les utiliser dans votre script sans aucune installation supplémentaire, je vous invite aussi à consulter la classe DateTime sur le site php.

  • checkdate() : Valide une date grégorienne.
  • date_add() :Ajoute un nombre de jours, mois, années, heures, minutes et secondes à une date.
  • date_create_from_format() : Retourne un nouvel objet DateTime formaté selon le format spécifié.
  • date_create() : Renvoie un nouvel objet DateTime.
  • date_date_set() : Définit une nouvelle date.
  • date_default_timezone_get() : Retourne le fuseau horaire par défaut utilisé par toutes les fonctions date/heure dans un script.
  • date_default_timezone_set() :Définit le fuseau horaire par défaut utilisé par toutes les fonctions date/heure d’un script.
  • date_diff() : Retourne la différence entre deux dates.
  • date_format() : Retourne une date formatée selon le format spécifié.
  • date_get_last_errors() : Renvoie les avertissements et les erreurs trouvés lors de l’analyse d’une chaîne date/heure.
  • date_interval_create_from_date_string() : Crée un DateInterval à partir des parties relatives de la chaîne.
  • date_interval_format() : Formate l’intervalle.
  • date_isodate_set() :  Définit une date selon la norme ISO 8601.
  • date_modify() : Modifie le timestamp.
  • date_offset_get() : Retourne le décalage du fuseau horaire.
  • date_parse_from_format() : Retourne un tableau associatif contenant des informations détaillées sur une date donnée, formatée selon le format spécifié.
  • date_parse() : Retourne un tableau associatif contenant des informations détaillées sur une date donnée.
  • date_sub() : Soustrait un nombre de jours, mois, années, heures, minutes et secondes d’une date.
  • date_sun_info() : Renvoie un tableau contenant des informations sur le coucher/le lever du soleil et le début/la fin du crépuscule pour un jour et un lieu donnés.
  • date_sunrise() : Renvoie l’heure du lever du soleil pour un jour et un lieu donnés.
  • date_sunset() : Renvoie l’heure du coucher du soleil pour un jour et un lieu donnés.
  • date_time_set() : Définit l’heure.
  • date_timestamp_get() : Retourne le timestamp Unix représentant la date.
  • date_timestamp_set() : Définit la date et l’heure sur la base d’un timestamp Unix.
  • date_timezone_get() : Retourne le fuseau horaire relatif à la DateTime donnée.
  • date_timezone_set() : Définit le fuseau horaire pour l’objet DateTime.
  • date() :  Formate une date et une heure locales.
  • getdate() : Renvoie les informations de date/heure du timestamp ou de la date/heure locale actuelle.
  • gettimeofday() : Retourne l’heure actuelle.
  • gmdate() : Formate une date et une heure GMT/UTC.
  • gmmktime() : Obtient le timestamp Unix pour une date GMT.
  • gmstrftime() Formate une date et une heure GMT/UTC en fonction des paramètres régionaux.
  • idate() Formate une date/heure locale sous forme d’un nombre entier.
  • localtime() :  Retourne l’heure locale.
  • microtime() : Retourne le timestamp Unix actuel avec des microsecondes.
  • mktime() : Retourne le timestamp Unix pour une date.
  • strftime() : Formate une heure/date locale selon les paramètres locaux.
  • strptime() : Analyse une date/heure générée avec strftime().
  • strtotime() : Analyse une date/heure textuelle anglaise en un timestamp Unix.
  • time() : Retourne l’heure actuelle sous la forme d’un timestamp Unix.
  • timezone_abbreviations_list() : Retourne un tableau associatif contenant dst, offset et le nom du fuseau horaire.
  • timezone_identifiers_list() : Retourne un tableau indexé contenant tous les identifiants de fuseau horaire définis.
  • timezone_location_get() : Retourne les informations de localisation pour un fuseau horaire spécifié.
  • timezone_name_from_abbr() :Retourne le nom du fuseau horaire à partir de l’abréviation.
  • timezone_name_get() : Retourne le nom du fuseau horaire.
  • timezone_offset_get() : Retourne le décalage du fuseau horaire par rapport à GMT.
  • timezone_open() : Crée un nouvel objet DateTimeZone.
  • timezone_transitions_get() : Retourne toutes les transitions pour le fuseau horaire.
  • timezone_version_get() : Retourne la version actuelle de la base de tempsle 

Newsletter

Ne manquez jamais les nouveaux conseils, tutoriels et autres.

Pas de spam, jamais. Nous ne partagerons jamais votre adresse électronique et vous pouvez vous désabonner à tout moment.