Créer des dates facilement
La manière la plus simple pour créer des dates en PHP est d'instancier un objet de la classe DateTime
.
$date = new DateTime();
// "2022-12-19 08:33:03.003983"
On peut aussi passer une chaîne comme paramètre à ce constructeur :
// La date et l'heure actuelle ("2022-12-19 08:33:03.003983")
// Valeur par défaut du constructeur
$date = new DateTime("now");
// Ce matin à minuit ("2022-12-19 00:00:00.000000")
$date = new DateTime("midnight");
// Minuit demain ("2022-12-20 00:00:00.000000")
$date = new DateTime("tomorrow");
// Dernier jour du mois ("2022-12-31 00:00:00.000000")
$date = new DateTime("last day of december");
On peut créer des dates aussi à partir d'un format que l'on définit.
// 2022-12-21 08:33:03.003983
$date = DateTime::createFromFormat('Y-m-d', '2022-12-21');
On voit ici, que les heures, minutes et secondes sont initialisées avec les valeurs de l'heure courante. Si on souhaite réinitialiser ces valeurs à 0
, on peut utiliser !
.
// 2022-12-19 00:00:00.000000
$date = DateTime::createFromFormat('!Y-m-d', '2022-12-19');
// 2022-12-01 00:00:00.000000
$date = DateTime::createFromFormat('!Y-m', '2022-12');
// 2022-01-01 00:00:00.000000
$date = DateTime::createFromFormat('!Y', '2022');
// 1970-01-01 00:00:00.000000
$date = DateTime::createFromFormat('!', '');
Mon programme "S'entraîner pour progresser en PHP" va bientôt ouvrir ses portes. Il te permettra de recevoir chaque semaine un kata de code directement dans ta boîte mail, ainsi que des aides à la réalisation, des vidéos explicatives, voire des live coding et de la review.