date_isodate_set()函数设置 ISO 日期
date_isodate_set()函数是 DateTime::setISODate 的别名。使用此函数可以设置ISO日期。 以 ISO 8601 规范的格式设置日期, 使用周和日的偏移量作为参数,而不是使用月和日。
date_isodate_set($object, $year, $week, $day)
序号 | 参数及说明 |
---|---|
1 | object(必需) 这是一个DateTime对象,您需要为其设置日期。 |
2 | year(必需) 年份。 |
3 | week(必需) 周。 |
4 | day(必需) 从周的第一天计算,日在一周内的偏移量。 |
返回被修改的 DateTime 对象,此函数将返回布尔值false。
此函数最初是在PHP版本5.2.0中引入的,并且可以在所有更高版本中使用。
以下示例演示了date_isodate_set函数的用法-
<?php //创建日期 $date = new DateTime(); //设置ISO日期 date_isodate_set($date, 2019, 03, 3); print("Date: ".date_format($date, "Y/m/d")); ?>测试看看‹/›
输出结果
Date: 2019/01/16
下面的示例创建一个DateTime对象,并使用date_isodate_set()函数修改其日期。-
<?php //日期字符串 $date_string = "25-09-1999"; //创建一个DateTime对象 $date_time_Obj = date_create($date_string); print("原始日期: ".date_format($date_time_Obj, "Y/m/d")); print("\n"); //设定日期 $date = date_isodate_set($date_time_Obj, 2015, 4, 3 ); print("修改后的日期: ".date_format($date, "Y/m/d")); ?>测试看看‹/›
输出结果
原始日期: 1999/09/25 修改后的日期: 2015/01/21
在调用此函数时,如果您传递的日和周值超出其范围,则它们将被添加到其父值-
<?php //创建日期 $date = new DateTime(); //设置日期 date_isodate_set($date, 2019, 15, 17); print("Date: ".date_format($date, "Y/m/d")); ?>测试看看‹/›
这将产生以下输出-
Date: 2019/04/24
<?php $dateSrc = '2005-04-19 12:50 GMT'; $dateTime = date_create( $dateSrc);; #现在使用date_isodate_set()设置新日期; date_isodate_set( $dateTime, 2000, 12, 12); echo "新的格式化日期为 ". $dateTime->format("Y-m-d\TH:i:s\Z"); echo "<br>"; #使用第二个函数。 $dateTime = new DateTime($dateSrc); $dateTime->setISODate( 1999, 10, 12); echo "新的格式化日期为 ". $dateTime->format("Y-m-d\TH:i:s\Z"); ?>测试看看‹/›
这将产生以下输出-
新的格式化日期为 2000-03-31T12:50:00Z 新的格式化日期为 1999-03-19T12:50:00Z