(PHP 5 >= 5.2.0, PHP 7)
DateTime::setDate — date_date_set – 设置 DateTime 对象的日期
说明
面向对象风格
public DateTime::setDate
( int $year
, int $month
, int $day
) : [DateTime](php7/class.datetime)
过程化风格
[date_date_set](php7/function.date-date-set)
( [DateTime](php7/class.datetime) $object
, int $year
, int $month
, int $day
) : [DateTime](php7/class.datetime)
设置 DateTime 对象的日期。
参数
object
仅过程化风格:由 [date_create()](php7/function.date-create) 返回的 [DateTime](php7/class.datetime) 类型的对象。此函数会修改这个对象。
year
年份。
month
月份。
day
日。
返回值
返回被修改的 DateTime 对象, 或者在失败时返回 FALSE.
更新日志
版本
说明
5.3.0
将返回值从NULL改为 [DateTime](php7/class.datetime) 类型。
范例
Example #1 DateTime::setDate() 例程
面向对象风格
$date = new DateTime();
$date->setDate(2001, 2, 3);
echo $date->format('Y-m-d');
?>
过程化风格
$date = date_create();
date_date_set($date, 2001, 2, 3);
echo date_format($date, 'Y-m-d');
?>
以上例程会输出:
2001-02-03
Example #2 超出范围的部分会向上一级增加
$date = new DateTime();
$date->setDate(2001, 2, 28);
echo $date->format('Y-m-d') . "n";
$date->setDate(2001, 2, 29);
echo $date->format('Y-m-d') . "n";
$date->setDate(2001, 14, 3);
echo $date->format('Y-m-d') . "n";
?>
以上例程会输出:
2001-02-28
2001-03-01
2002-02-03
参见
[DateTime::setISODate()](php7/datetime.setisodate) – 设置 ISO 日期
[DateTime::setTime()](php7/datetime.settime) – 设置 DateTime 对象的时间