(PHP 5 >= 5.5.0, PHP 7, PHP 8)
DateTimeImmutable::setDate — 日付を設定する
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