Метод setDate класса DateTime

Метод setDate изменяет дату в объекте DateTime. Он принимает три параметра: год (целое число), месяц (целое число от 1 до 12) и день (целое число от 1 до 31). Возвращает модифицированный объект DateTime.

Синтаксис

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

Пример

Установим новую дату 15 марта 2023 года:

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

Результат выполнения кода:

php'2023-03-15'

Пример

Автоматическая коррекция неверных дат (32 января преобразуется в 1 февраля):

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

Результат выполнения кода:

php'2023-02-01'

Пример

Установка даты с отрицательными значениями (переход на предыдущий год):

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

Результат выполнения кода:

php'2022-11-15'

Смотрите также

  • функцию checkdate,
    которая проверяет корректность даты
  • функцию date,
    которая форматирует заданную дату
  • функцию modify,
    которая изменяет дату по строке относительного формата