Méthode setDate de la classe DateTime
La méthode setDate modifie la date dans l'objet DateTime. Elle accepte trois paramètres : l'année (un entier), le mois (un entier de 1 à 12) et le jour (un entier de 1 à 31). Elle retourne l'objet DateTime modifié.
Syntaxe
public DateTime::setDate(int $year, int $month, int $day): DateTime
Exemple
Définissons une nouvelle date au 15 mars 2023 :
<?php
$date = new DateTime();
$date->setDate(2023, 3, 15);
echo $date->format('Y-m-d');
?>
Résultat de l'exécution du code :
'2023-03-15'
Exemple
Correction automatique des dates invalides (le 32 janvier est converti en 1er février) :
<?php
$date = new DateTime();
$date->setDate(2023, 1, 32);
echo $date->format('Y-m-d');
?>
Résultat de l'exécution du code :
'2023-02-01'
Exemple
Définition d'une date avec des valeurs négatives (passage à l'année précédente) :
<?php
$date = new DateTime();
$date->setDate(2023, -1, 15);
echo $date->format('Y-m-d');
?>
Résultat de l'exécution du code :
'2022-11-15'