Устанавливает дату

# DateTimeImmutable::setDate

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::setDate — Устанавливает дату

### Описание

#[\NoDiscard(message: "as DateTimeImmutable::setDate() does not modify the object itself")]
public function DateTimeImmutable::setDate(int `$year`, int `$month`, int `$day`): DateTimeImmutable

Метод клонирует текущий объект даты и времени DateTimeImmutable, устанавливает в копии новую дату и возвращает изменённую копию объекта DateTimeImmutable.

### Список параметров

`object`
  Только для процедурного стиля: объект DateTime, который возвращает функция date_create(). Функция изменяет этот объект.
`year`

  Год.

`month`

  Номер месяца в году.

`day`

  Номер дня в месяце.

### Возвращаемые значения

Метод возвращает новый объект DateTimeImmutable с модифицированными данными.

### Примеры

Пример #1 Пример установки даты методом DateTimeImmutable::setDate()

Объектно-ориентированный стиль

    <?php

    $date = new DateTimeImmutable();
    $newDate = $date->setDate(2001, 2, 3);
    echo $newDate->format('Y-m-d');

Результат выполнения приведённого примера:

    2001-02-03

Пример #2 Значения, которые выходят за пределы диапазона, добавляются к своим родительским значениям

    <?php

    $date = new DateTimeImmutable();

    $newDate = $date->setDate(2001, 2, 28);
    echo $newDate->format('Y-m-d') . "\n";

    $newDate = $date->setDate(2001, 2, 29);
    echo $newDate->format('Y-m-d') . "\n";

    $newDate = $date->setDate(2001, 14, 3);
    echo $newDate->format('Y-m-d') . "\n";

Результат выполнения приведённого примера:

    2001-02-28
    2001-03-01
    2002-02-03

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

- DateTimeImmutable::setISODate() - Устанавливает дату в формате ISO
- DateTimeImmutable::setTime() - Устанавливает время

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open