date_date_set() 函数设置 DateTime 对象的日期
date_date_set()函数是DateTime::setDate()的别名。 使用此函数,您可以(重新)设置DateTime对象的日期。
date_date_set($object, $year, $month, $day)
序号 | 参数及说明 |
---|---|
1 | object(必需) 这是一个DateTime对象,您需要为其设置日期。 |
2 | year(必需) 年份 |
3 | month(必需) 月份 |
4 | day(必需) 日。 |
返回被修改的 DateTime 对象, 如果失败,此函数将返回布尔值false。
此函数最初是在PHP版本5.2.0中引入的,并且可以在所有更高版本中使用。
以下示例演示了date_date_set函数的用法-
<?php //创建日期 $date = new DateTime(); //设置日期 date_date_set($date, 2019, 07, 17); print("Date: ".date_format($date, "Y/m/d")); ?>测试看看‹/›
输出结果
Date: 2019/07/17
下面的示例创建一个DateTime对象,并使用date_date_set()函数修改其日期。-
<?php //日期字符串 $date_string = "25-09-1989"; //创建一个DateTime对象 $date_time_Obj = date_create($date_string); print("Original Date: ".date_format($date_time_Obj, "Y/m/d")); print("\n"); //设置日期 $date = date_date_set($date_time_Obj, 2015, 11, 25 ); print("Modified Date: ".date_format($date, "Y/m/d")); ?>测试看看‹/›
输出结果
Original Date: 1989/09/25 Modified Date: 2015/11/25
在调用此函数时,如果您传递的日和月值超出其范围,它们将被添加到其父值-
<?php //创建日期 $date = new DateTime(); //设置日期 date_date_set($date, 2019, 15, 17); print("Date: ".date_format($date, "Y/m/d")); ?>测试看看‹/›
由于我们将月份值设置为15。三个月被添加到适当的日期-
Date: 2020/03/17
使用date_date_set()设置新日期
<?php $dateSrc = '2005-04-19 12:50 GMT'; $dateTime = date_create( $dateSrc);; #现在使用date_date_set()设置新日期; date_date_set( $dateTime, 2000, 12, 12); echo "新的格式化日期为 ". $dateTime->format("Y-m-d\TH:i:s\Z"); echo " "; #使用第二个函数。 $dateTime = new DateTime($dateSrc); $dateTime->setDate( 1999, 10, 12); echo "新的格式化日期为 ". $dateTime->format("Y-m-d\TH:i:s\Z"); ?>测试看看‹/›
输出结果:
新的格式化日期为 2000-12-12T12:50:00Z 新的格式化日期为 1999-10-12T12:50:00Z