DateTime::setDate

date_date_set

(PHP 5 >= 5.2.0, PHP 7)

DateTime::setDate -- date_date_set日付を設定する

説明

オブジェクト指向型

public DateTime::setDate ( int $year , int $month , int $day ) : DateTime

手続き型

date_date_set ( DateTime $object , int $year , int $month , int $day ) : DateTime

DateTime オブジェクトの現在の日付をリセットし、別の日付にします。

パラメータ

object

手続き型のみ: date_create() が返す DateTime オブジェクト。 この関数は、このオブジェクトを変更します。

year

その日付の年。

month

その日付の月。

day

その日付の日。

返り値

メソッドチェインに使う DateTime オブジェクトを返します。失敗した場合に FALSE を返します。

変更履歴

バージョン 説明
5.3.0成功した場合の返り値が NULL から DateTime に変更されました。

例1 DateTime::setDate() の例

オブジェクト指向型

<?php
$date 
= new DateTime();
$date->setDate(200123);
echo 
$date->format('Y-m-d');
?>

手続き型

<?php
$date 
date_create();
date_date_set($date200123);
echo 
date_format($date'Y-m-d');
?>

上の例の出力は以下となります。

2001-02-03

例2 範囲を超えた値が親の値に加算される例

<?php
$date 
= new DateTime();

$date->setDate(2001228);
echo 
$date->format('Y-m-d') . "\n";

$date->setDate(2001229);
echo 
$date->format('Y-m-d') . "\n";

$date->setDate(2001143);
echo 
$date->format('Y-m-d') . "\n";
?>

上の例の出力は以下となります。

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

参考