
Voici un point intéressant mais que nous allons très vite survoler car il est d'une simplicité étonnante par rapport à d'autre langage.
J'ai parlé de simplicité ! En effet, une simple fonction nous permet de récupérer la date du jour. Après, il est aussi très simple de calculer une future voire antérieure à partir de celle-ci. Et voici (roulement de tambours) la fonction date().
Attention toutefois car elle retourne l'heure et la date du serveur. Ainsi un français verra l'heure des USA si le serveur où vous hébergez vos pages est aux Etats-Unis.
La fonction fonctionne avec des paramètres (nous reviendrons sur les fonctions plus tard).
Bien sûr, les éléments de la date seront en anglais.
Paramètres |
Paramètre |
Description |
a |
"am" ou "pm" |
A |
"AM" ou "PM" |
d |
Jour du mois sur deux chiffres (01 à 31) |
D |
Jour de la semaine en trois lettres |
F |
Mois en toute lettres |
h |
Heure au format 12h sur deux chiffres (01 à 12) |
H |
Heure au format 24h sur deux chiffres (00 à 23) |
g |
Heure au format 12h (1 à 12) |
G |
Heure au format 24h (0 à 23) |
i |
Minutes (00 à 59) |
j |
Jour du mois (de 1 à 31) |
l |
Jour de la semaine en toute lettre |
L |
Année bissextile (1=oui, 0=non) |
m |
Mois sur deux chiffre (de 01 à 12) |
M |
Mois en trois lettres |
n |
Mois (1 à 12) |
s |
Secondes (00 à 59) |
w |
Jour de la semaine au format numérique (0 à 6) |
W |
Numéro de semaine dans l'année |
y |
Année sur deux chiffres |
Y |
Année sur quatre chiffres |
z |
Jour de l'année (0 à 365) |
Exemple :
<?php
$jour=date("l");
$date=date("d-m-Y");
$heure=date("H:i")
echo "Nous somme le $jour $date. Il est $heure."
?>
Résulat >>
Nous somme le Wednesday 16-04-2025. Il est 01:23
Il reste tout de même un problème à régler car, comme dis précédemment, la date est en anglais et lorsqu'on souhaite afficher le jour en toute lettre, on obtient de l'anglais et non du français.
Pour arranger ça, il suffit d'être un tout petit peu débrouillard. Tout d'abord il nous faut définir les jours français. Nous allons alors créer un tableau contenant les jours de la semaine en français. Mais maintenant comment l'utiliser ? Rien de plus simple car si vous regardez bien le tableau, il existe un paramètre permettant de récupérer le numéro du jour de la semaine et qui retourne un chiffre entre 0 et 6. Nous avons désormais un indice pour parcourir notre tableau !
Procédons par ordre.
- Créer le tableau de jours en français
- Utiliser date("w") pour obtenir un indice
- Afficher le résultat
Créons donc notre tableau : $jours=array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi");
Puis servons nous de la fonction pour obtenir l'indice : $numjour=date("w");
Enfin, affichons le résultat : echo $jours[$numjour];
Exemple :
<?php
$jours=array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
$numjour=date("w");
echo $jours[$numjour];
?>
Résulat >>
Mercredi
Notez que vous pouvez faire exactement la même chose avec les mois sauf que date("n") renvoie un chiffre NE COMMENCANT PAS par zéro. Il faudra donc initialiser un tableau de 13 éléments dont le premier est vide. Ou alors enlever 1 au résultat de date("n").
En cadeau, voici le script que j'ai réalisé pour afficher la date dans le menu. J'ai choisi la deuxième solution pour afficher le mois.
<?php
$jours=array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
$numjour=date("w");
$mois=array("janvier","février","mars","avril","mai","juin", "juillet","août","septembre","octobre","novembre","décembre");
$nummois=date("n")-1;
echo "$jours[$numjour] ".date("j")." $mois[$nummois] ".date("Y");
?>
Résulat >>
Mercredi 16 avril 2025
|