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