Le langage PHP comporte de nombreuses fonctions pour travailler sur les dates (Php date). Nous allons voir ici comment utiliser ces fonctions dans votre code PHP.

Pré-requis

  • Vous connaissez les bases de la syntaxe PHP
  • Vous avez PHP d’installé sur un ordinateur, auquel vous avez accès

Partie 1 Php date – La fonction time() et les timestamps

En PHP, il existe une convention commune à de nombreux autres langages pour identifier une date et une heure simplement grâce à un seul nombre :

Toute date récente est donnée par le nombre de secondes écoulées depuis le premier janvier 1970 à minuit, sur le fuseau horaire de Greenwich (GMT). Cela s’appelle un timestamp.

Pour connaître le timestamp courant, on peut afficher le résultat de la fonction time(), comme ceci :

echo time();

Par exemple, à l’écriture de ce tutoriel, le timestamp courant était égal à 1601831742.

Partie 2 – Le formatage de la date

Pour afficher une date au format timestamp de manière lisible, on peut utiliser la fonction date() qui prend une chaîne de caractère de formatage en entrée pour traduire le timestamp.

echo date($format, $timestamp);

Si on omet le paramètre $timestamp, la fonction va considérer qu’elle prend le timestamp courant.
Le paramètre $format s’écrit avec des codes qu’il faut connaître. Il s’agit de lettres majuscules ou minuscules qui représentent des parties de la date. Pour la date d’aujourd’hui, :

Code Signification Exemple
Y L’année sur 4 chiffres. 2020
y L’année sur 2 chiffres. 20
F Le nom du mois. Octobre
m Le numéro du mois avec un zéro initial. 10
n Le numéro du mois sans le zéro initial. 10
d Jour du mois avec un zéro initial. 04
j Jour du mois sans le zéro initial. 4
D Jour de la semaine sur trois lettres dans la langue du serveur. Dim
w Nombre de jours de la semaine, depuis dimanche. `0
h L’heure, au format 12H, avec un zéro initial. 07
H L’heure, au format 24H, avec un zéro initial. 19
g L’heure, au format 12H, sans le zéro initial. 7
G L’heure, au format 24H, sans le zéro initial. 19
i Les minutes, avec un zéro initial. 15
s Les secondes, avec un zéro initial. 42

Les exemples sont donnés pour le dimanche 4 octobre 2020 sur un serveur français à 19:15:42.

Il suffit ensuite de composer un format avec ces éléments :

$format = 'Y-m-d H:i:s';
$timestamp = 1601831742;
echo date ($format, $timestamp);

Pour peu que le serveur soit sur le fuseau horaire de Paris, cela retournera :

2020-10-04 19:15:42

Pour pouvoir utiliser des lettres dans le formatage de la date, il faut échapper certaines lettres avec un \.
Par exemple, pour afficher “Nous sommes le 4 Octobre 2020” avec seulement la fonction date(), il conviendra d’écrire :

$format = '\N\o\u\s \s\o\m\m\e\s \l\e j F Y';
$timestamp = 1601831742;
echo date ($format, $timestamp);

Bonus Php date : petite vidéo explicative

Voici à présent un rapide tutoriel vidéo pour résumer les fonctions sur les dates et être certain de bien les utiliser 🙂

Et si cela vous donne envie de découvrir plus en détail le langage PHP, voici un cours en vidéo très complet pour apprendre le PHP et créer des sites web dynamiques.

> PHP : Formation complète

 

(983)