# DateTimeImmutable::setDate

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

DateTimeImmutable::setDate — Sets the date

### 说明

#[\NoDiscard]
public DateTimeImmutable::setDate(int `$year`, int `$month`, int `$day`): DateTimeImmutable

Returns a new DateTimeImmutable object with the current date of the DateTimeImmutable object set to the given date.

### 参数

`object`

  仅过程化风格：由 date_create() 返回的 DateTime 类型的对象。此函数会修改这个对象。

`year`

  Year of the date.

`month`

  Month of the date.

`day`

  Day of the date.

### 返回值

返回带有修改数据的新 DateTimeImmutable 对象。

### 示例

示例 #1 DateTimeImmutable::setDate() example

面向对象风格

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

以上示例会输出：

    2001-02-03

示例 #2 Values exceeding ranges are added to their parent values

`<?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() - Sets the ISO date
- DateTimeImmutable::setTime() - Sets the time

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