Metoda setDate klasy DateTime
Metoda setDate zmienia datę w obiekcie DateTime. Przyjmuje trzy parametry: rok (liczba całkowita), miesiąc (liczba całkowita od 1 do 12) i dzień (liczba całkowita od 1 do 31). Zwraca zmodyfikowany obiekt DateTime.
Składnia
public DateTime::setDate(int $year, int $month, int $day): DateTime
Przykład
Ustawmy nową datę na 15 marca 2023 roku:
<?php
$date = new DateTime();
$date->setDate(2023, 3, 15);
echo $date->format('Y-m-d');
?>
Wynik wykonania kodu:
'2023-03-15'
Przykład
Automatyczna korekta nieprawidłowych dat (32 stycznia zostanie przekształcone na 1 lutego):
<?php
$date = new DateTime();
$date->setDate(2023, 1, 32);
echo $date->format('Y-m-d');
?>
Wynik wykonania kodu:
'2023-02-01'
Przykład
Ustawianie daty z wartościami ujemnymi (przejście na poprzedni rok):
<?php
$date = new DateTime();
$date->setDate(2023, -1, 15);
echo $date->format('Y-m-d');
?>
Wynik wykonania kodu:
'2022-11-15'