
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版本
此函数最初是在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
PHP xml_set_object() PHP xml_set_external_entity_ref_handler()
