函式名:IntlCalendar::setSkippedWallTimeOption()
適用版本:PHP 5 >= 5.5.0, PHP 7, PHP 8
函式說明:該函式用於設定在跳過夏令時時要採取的操作選項。
用法:
bool IntlCalendar::setSkippedWallTimeOption(int $wallTimeOption)
引數:
- $wallTimeOption:指定夏令時跳過時的操作選項。可選值有:
- IntlCalendar::WALLTIME_LAST:使用最後一次有效時間。如果夏令時結束時有重複的時間點,則選擇最後一個時間點。
- IntlCalendar::WALLTIME_FIRST:使用第一次有效時間。如果夏令時結束時有重複的時間點,則選擇第一個時間點。
- IntlCalendar::WALLTIME_NEXT_VALID:使用下一個有效時間。如果夏令時結束時有重複的時間點,則選擇下一個時間點。預設選項。
返回值:
- 成功時返回 TRUE,失敗時返回 FALSE。
示例:
$calendar = IntlCalendar::createInstance();
$calendar->setSkippedWallTimeOption(IntlCalendar::WALLTIME_LAST);
// 設定夏令時跳過選項為使用最後一次有效時間
$timestamp = strtotime("2021-03-14 02:30:00");
$calendar->setTime($timestamp);
echo $calendar->get(IntlCalendar::FIELD_HOUR_OF_DAY); // 輸出 3
在上面的示例中,我們建立了一個IntlCalendar例項,並將setSkippedWallTimeOption()函式的引數設定為IntlCalendar::WALLTIME_LAST。然後,我們設定了一個時間戳為2021年3月14日2:30:00,並使用setTime()函式將IntlCalendar例項的時間設定為該時間戳。最後,我們使用get()函式獲取當前時間的小時,並輸出結果為3。這是因為在夏令時開始時,時間跳過了2:00-3:00之間的時間,所以實際上的時間是3:30:00。透過設定setSkippedWallTimeOption()函式的引數為IntlCalendar::WALLTIME_LAST,我們選擇了夏令時結束時的最後一個時間點,即3:00:00。
熱門工具排行榜