函式名:DateTimeZone::getOffset()
適用版本:PHP 5 >= 5.2.0, PHP 7
用法:DateTimeZone::getOffset() 函式返回與 GMT(格林尼治標準時間)的偏移秒數。可以使用 DateTimeZone 物件的例項呼叫此函式。
語法:int DateTimeZone::getOffset(DateTimeInterface $datetime)
引數:
- DateTimeInterface $datetime:一個實現了 DateTimeInterface 介面的日期時間物件。可以是 DateTime 或 DateTimeImmutable 類的例項。
返回值: 返回一個整數,表示與 GMT 的偏移秒數。正數表示比 GMT 更早,負數表示比 GMT 更晚。
示例:
// 建立一個日期時間物件
$datetime = new DateTime('now', new DateTimeZone('Asia/Shanghai'));
// 獲取時區偏移秒數
$offset = $datetime->getTimezone()->getOffset($datetime);
// 格式化為友好的時區格式(e.g., +07:00)
$offset_formatted = sprintf('%s%02d:%02d', ($offset >= 0 ? '+' : '-'), abs($offset / 3600), abs($offset % 3600) / 60);
echo "當前時區偏移:{$offset} 秒<br>";
echo "友好的時區格式:{$offset_formatted}<br>";
輸出:
當前時區偏移:28800 秒
友好的時區格式:+08:00
上述示例中,我們建立了一個當前日期時間的物件,並將時區設定為 'Asia/Shanghai'。然後,我們使用 getOffset()
函式獲取當前時區的偏移秒數,並將其格式化為友好的時區格式,例如 '+08:00'。最後,我們輸出偏移秒數和友好的格式。