日付を設定する

# 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`
  手続き型のみ: date_create() が返す DateTime オブジェクト。 この関数は、このオブジェクトを変更します。
`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