Guide de débutant pour les dates et heures en PHP

Bonjour, aspirants développeurs PHP ! Aujourd'hui, nous allons plonger dans le monde fascinant des dates et heures en PHP. En tant que votre enseignant bienveillant en informatique, je suis là pour vous guider à travers ce voyage avec des explications claires, un tas d'exemples, et peut-être même une blague ou deux au fil de la route. Alors, sortez vos agendas virtuels, et c'est parti !

PHP - Date & Time

Comprendre l'importance des dates et heures dans la programmation

Avant de rentrer dans le vif du sujet, laissez-moi vous raconter une petite histoire. Lorsque j'ai commencé à enseigner le PHP, j'avais un étudiant qui a construit une application de blog magnifique. Tout fonctionnait parfaitement, sauf un détail mineur - toutes les publications affichaient le même horodatage ! Il s'avère que gérer les dates et les heures est crucial dans de nombreuses applications, des systèmes de programmation aux plateformes de médias sociaux. C'est pourquoi il est si important de maîtriser les fonctions de date et d'heure de PHP.

Obtenir l'horodatage avec time()

Commençons par les bases. En PHP, nous travaillons souvent avec ce qu'on appelle un "horodatage". Imaginez-le comme un grand nombre qui représente un moment spécifique dans le temps. La fonction time() est notre outil de choix pour obtenir l'horodatage actuel.

Exemple 1 : Utilisation de time()

<?php
$current_timestamp = time();
echo "L'horodatage actuel est : " . $current_timestamp;
?>

Si vous exécutez ce code, vous verrez quelque chose comme :

L'horodatage actuel est : 1623456789

Je sais ce que vous pensez : "C'est juste un grand nombre ! Comment est-ce utile ?" Eh bien, mon ami curieux, ce nombre représente le nombre de secondes qui se sont écoulées depuis le 1er janvier 1970 (également connu sous le nom d'"époque Unix"). Cela peut ne pas paraître joli, mais c'est incroyablement utile pour les calculs et les comparaisons.

Convertir un horodatage avec getdate()

D'accord, nous avons cet horodatage, mais comment le transformons-nous en quelque chose que les humains peuvent vraiment lire ? C'est là que rentre en jeu getdate(), notre convertisseur de temps bienveillant !

Exemple 2 : Utilisation de getdate()

<?php
$current_timestamp = time();
$date_array = getdate($current_timestamp);
print_r($date_array);
?>

Cela affichera quelque chose comme :

Array
(
[seconds] => 30
[minutes] => 46
[hours] => 14
[mday] => 12
[wday] => 6
[mon] => 6
[year] => 2023
[yday] => 162
[weekday] => Saturday
[month] => June
[0] => 1623456789
)

Whaou, c'est beaucoup d'informations ! getdate() prend notre horodatage et le décompose en un tableau avec plein de informations utiles. C'est comme ouvrir une boîte de chocolats mélangés - il y en a pour tout le monde !

Utiliser getdate() de manière plus lisible

Faisons en sorte que ces informations soient un peu plus conviviales :

<?php
$current_timestamp = time();
$date_array = getdate($current_timestamp);
echo "Aujourd'hui c'est " . $date_array['weekday'] . ", " . $date_array['month'] . " " . $date_array['mday'] . ", " . $date_array['year'];
?>

Cela affichera :

Aujourd'hui c'est Saturday, June 12, 2023

Bien mieux, non ? Maintenant, nous parlons humain !

Convertir un horodatage avec date()

Bien que getdate() soit génial, parfois nous voulons plus de contrôle sur la façon dont nos dates et heures sont formatées. C'est là que la fonction date() entre en jeu. C'est comme un couteau suisse pour le formatage du temps !

Exemple 3 : Utilisation de base de date()

<?php
$current_timestamp = time();
echo date("Y-m-d H:i:s", $current_timestamp);
?>

Cela affichera quelque chose comme :

2023-06-12 14:46:30

La magie ici réside dans la chaîne de format "Y-m-d H:i:s". Chaque lettre représente une partie différente de la date ou de l'heure. C'est comme un code secret, mais ne vous inquiétez pas, je vais vous donner le secret !

Caractères de formatage communs de date()

Voici un tableau pratique des caractères de formatage courants :

Caractère Description Exemple
Y Année à quatre chiffres 2023
m Mois (01-12) 06
d Jour du mois (01-31) 12
H Heure au format 24 heures (00-23) 14
i Minutes (00-59) 46
s Secondes (00-59) 30
l Nom complet du jour Saturday
F Nom complet du mois June

Exemple 4 : Faire preuve de créativité avec date()

Faisons un peu de fun avec le formatage :

<?php
$current_timestamp = time();
echo "C'est " . date("l, F jS, Y \a\\t g:i A", $current_timestamp);
?>

Cela pourrait afficher :

C'est Saturday, June 12th, 2023 at 2:46 PM

Regardez ça ! Nous avons créé un format de date convivial et lisible. Le \a\\t dans la chaîne de format est un 'at' échappé - c'est comme dire à PHP : "Non, je veux vraiment imprimer le mot 'at' ici, pas l'utiliser comme un caractère de formatage."

Conclusion

Et voilà, les amis ! Nous avons parcouru le pays des dates et heures PHP, du modeste horodatage aux magnifiques chaînes de dates formatées. Souvenez-vous, travailler avec des dates et des heures, c'est tout về la pratique. N'ayez pas peur d'expérimenter avec différents formats et fonctions.

Avant de vous laisser, voici un peu d'humour PHP sur les dates : Pourquoi le développeur PHP a-t-il rompu avec sa date ? Parce qu'il ne pouvait pas trouver le bon format ! ?

Continuez à coder, continuez à apprendre, et surtout, amusez-vous avec ça ! Jusqu'à la prochaine fois, c'est votre enseignant bienveillant en informatique qui vous dit au revoir.

Credits: Image by storyset