PHP date_isodate_set() 函数用法及示例

PHP Date & Time 函数手册

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