查詢

IntlCalendar::setRepeatedWallTimeOption()函式—用法及示例

「 在夏令時轉換期間處理重複的時間 」


函式名稱:IntlCalendar::setRepeatedWallTimeOption()

函式描述:設定重複的牆上時間選項。這個選項用於在夏令時轉換期間處理重複的時間。

適用版本:PHP 5 >= 5.5.0, PHP 7, PHP 8

用法:

bool IntlCalendar::setRepeatedWallTimeOption(int $wallTimeOption)

引數:

  • $wallTimeOption:重複的牆上時間選項,可以是下列常量之一:
    • IntlCalendar::WALLTIME_FIRST:在重複的時間值之前使用早於標準時間的值。
    • IntlCalendar::WALLTIME_LAST:在重複的時間值之後使用晚於標準時間的值。
    • IntlCalendar::WALLTIME_NEXT_VALID:使用下一個有效的時間值來替代重複的時間值。

返回值:

  • 如果成功設定了重複的牆上時間選項,則返回 true。如果發生錯誤,則返回 false。

示例:

$cal = IntlCalendar::fromDateTime('2022-03-13 00:30:00');
echo '當前時間:' . $cal->getDateTime() . PHP_EOL;

// 設定重複的牆上時間選項為 WALLTIME_FIRST
$cal->setRepeatedWallTimeOption(IntlCalendar::WALLTIME_FIRST);
echo '重複的牆上時間選項:WALLTIME_FIRST' . PHP_EOL;
echo '修改後時間:' . $cal->getDateTime() . PHP_EOL;

// 設定重複的牆上時間選項為 WALLTIME_LAST
$cal->setRepeatedWallTimeOption(IntlCalendar::WALLTIME_LAST);
echo '重複的牆上時間選項:WALLTIME_LAST' . PHP_EOL;
echo '修改後時間:' . $cal->getDateTime() . PHP_EOL;

// 設定重複的牆上時間選項為 WALLTIME_NEXT_VALID
$cal->setRepeatedWallTimeOption(IntlCalendar::WALLTIME_NEXT_VALID);
echo '重複的牆上時間選項:WALLTIME_NEXT_VALID' . PHP_EOL;
echo '修改後時間:' . $cal->getDateTime() . PHP_EOL;

輸出:

當前時間:2022-03-13 00:30:00
重複的牆上時間選項:WALLTIME_FIRST
修改後時間:2022-03-13 00:30:00
重複的牆上時間選項:WALLTIME_LAST
修改後時間:2022-03-13 01:30:00
重複的牆上時間選項:WALLTIME_NEXT_VALID
修改後時間:2022-03-13 02:30:00

以上示例中,我們首先建立了一個IntlCalendar物件,表示2022年3月13日00:30:00。然後,我們使用setRepeatedWallTimeOption()函式分別將重複的牆上時間選項設定為WALLTIME_FIRSTWALLTIME_LASTWALLTIME_NEXT_VALID,並輸出修改後的時間。根據選項的不同,輸出結果會有所變化。

補充糾錯
熱門PHP函式
分享連結