« DateTimeImmutable::__set_state
DateTimeImmutable::setISODate »

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   日付   setDate   newDate   date   format   setISODate   year   month   state   NoDiscard   message   modify   itself   手続き   create   DateTime   オブジェクト指向   範囲   加算   参考   setTime   時刻
関連する関数・ページ:
datetimeimmutable.setisodate   datetimeimmutable.modify   datetime.setdate   datetimeimmutable.add   datetimeimmutable.settime   datetimeimmutable.sub