date_isodate_set()函數(shù)設(shè)置 ISO 日期
date_isodate_set()函數(shù)是 DateTime::setISODate 的別名。使用此函數(shù)可以設(shè)置ISO日期。 以 ISO 8601 規(guī)范的格式設(shè)置日期, 使用周和日的偏移量作為參數(shù),而不是使用月和日。
date_isodate_set($object, $year, $week, $day)
序號 | 參數(shù)及說明 |
---|---|
1 | object(必需) 這是一個(gè)DateTime對象,您需要為其設(shè)置日期。 |
2 | year(必需) 年份。 |
3 | week(必需) 周。 |
4 | day(必需) 從周的第一天計(jì)算,日在一周內(nèi)的偏移量。 |
返回被修改的 DateTime 對象,此函數(shù)將返回布爾值false。
此函數(shù)最初是在PHP版本5.2.0中引入的,并且可以在所有更高版本中使用。
以下示例演示了date_isodate_set函數(shù)的用法-
<?php //創(chuàng)建日期 $date = new DateTime(); //設(shè)置ISO日期 date_isodate_set($date, 2019, 03, 3); print("Date: ".date_format($date, "Y/m/d")); ?>測試看看?/?
輸出結(jié)果
Date: 2019/01/16
下面的示例創(chuàng)建一個(gè)DateTime對象,并使用date_isodate_set()函數(shù)修改其日期。-
<?php //日期字符串 $date_string = "25-09-1999"; //創(chuàng)建一個(gè)DateTime對象 $date_time_Obj = date_create($date_string); print("原始日期: ".date_format($date_time_Obj, "Y/m/d")); print("\n"); //設(shè)定日期 $date = date_isodate_set($date_time_Obj, 2015, 4, 3 ); print("修改后的日期: ".date_format($date, "Y/m/d")); ?>測試看看?/?
輸出結(jié)果
原始日期: 1999/09/25 修改后的日期: 2015/01/21
在調(diào)用此函數(shù)時(shí),如果您傳遞的日和周值超出其范圍,則它們將被添加到其父值-
<?php //創(chuàng)建日期 $date = new DateTime(); //設(shè)置日期 date_isodate_set($date, 2019, 15, 17); print("Date: ".date_format($date, "Y/m/d")); ?>測試看看?/?
這將產(chǎn)生以下輸出-
Date: 2019/04/24
<?php $dateSrc = '2005-04-19 12:50 GMT'; $dateTime = date_create( $dateSrc);; #現(xiàn)在使用date_isodate_set()設(shè)置新日期; date_isodate_set( $dateTime, 2000, 12, 12); echo "新的格式化日期為 ". $dateTime->format("Y-m-d\TH:i:s\Z"); echo "<br>"; #使用第二個(gè)函數(shù)。 $dateTime = new DateTime($dateSrc); $dateTime->setISODate( 1999, 10, 12); echo "新的格式化日期為 ". $dateTime->format("Y-m-d\TH:i:s\Z"); ?>測試看看?/?
這將產(chǎn)生以下輸出-
新的格式化日期為 2000-03-31T12:50:00Z 新的格式化日期為 1999-03-19T12:50:00Z