Метод setDate на класа DateTime
Метод setDate променя датата в обект DateTime. Той приема три параметъра: година (цяло число), месец (цяло число от 1 до 12) и ден (цяло число от 1 до 31). Връща модифициран обект DateTime.
Синтаксис
public DateTime::setDate(int $year, int $month, int $day): DateTime
Пример
Задаване на нова дата 15 март 2023 година:
<?php
$date = new DateTime();
$date->setDate(2023, 3, 15);
echo $date->format('Y-m-d');
?>
Резултат от изпълнението на кода:
'2023-03-15'
Пример
Автоматична корекция на невалидни дати (32 януари се преобразува в 1 февруари):
<?php
$date = new DateTime();
$date->setDate(2023, 1, 32);
echo $date->format('Y-m-d');
?>
Резултат от изпълнението на кода:
'2023-02-01'
Пример
Задаване на дата с отрицателни стойности (преминаване към предходна година):
<?php
$date = new DateTime();
$date->setDate(2023, -1, 15);
echo $date->format('Y-m-d');
?>
Резултат от изпълнението на кода:
'2022-11-15'