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

phppublic DateTime::setDate(int $year, int $month, int $day): DateTime

Exemple

Définissons une nouvelle date au 15 mars 2023 :

php<?php
  $date = new DateTime();
  $date->setDate(2023, 3, 15);
  echo $date->format('Y-m-d');
?>

Résultat de l'exécution du code :

php'2023-03-15'

Exemple

Correction automatique des dates invalides (le 32 janvier est converti en 1er février) :

php<?php
  $date = new DateTime();
  $date->setDate(2023, 1, 32);
  echo $date->format('Y-m-d');
?>

Résultat de l'exécution du code :

php'2023-02-01'

Exemple

Définition d'une date avec des valeurs négatives (passage à l'année précédente) :

php<?php
  $date = new DateTime();
  $date->setDate(2023, -1, 15);
  echo $date->format('Y-m-d');
?>

Résultat de l'exécution du code :

php'2022-11-15'

Voir aussi

  • la fonction checkdate,
    qui vérifie la validité d'une date
  • la fonction date,
    qui formate une date donnée
  • la fonction modify,
    qui modifie la date selon une chaîne de format relatif