Метод 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,
    която променя датата по низ от относителен формат