函式名稱:DateTimeImmutable::setTimezone()
函式描述:該函式用於設定DateTimeImmutable物件的時區。
適用版本:該函式在PHP版本5.5及以上版本可用。
語法:public DateTimeImmutable DateTimeImmutable::setTimezone ( DateTimeZone $timezone )
引數:
- $timezone: 必需,一個DateTimeZone物件,表示要設定的時區。
返回值:返回一個新的DateTimeImmutable物件,代表了被設定時區後的日期和時間。
示例:
// 建立一個原始的日期時間物件
$date = new DateTimeImmutable('2022-03-15 10:30:00', new DateTimeZone('America/New_York'));
// 設定時區為東京
$dateTokyo = $date->setTimezone(new DateTimeZone('Asia/Tokyo'));
// 輸出原始日期時間物件
echo $date->format('Y-m-d H:i:s'); // 輸出: 2022-03-15 10:30:00
// 輸出新的日期時間物件(已設定成東京時區)
echo $dateTokyo->format('Y-m-d H:i:s'); // 輸出: 2022-03-15 23:30:00
在上面的示例中,我們首先建立了一個DateTimeImmutable物件$date
,代表了美國紐約的日期時間。然後使用setTimezone()
函式將時區設定為東京,返回一個新的DateTimeImmutable物件$dateTokyo
。最後,我們分別輸出了原始的日期時間物件和新的日期時間物件,驗證了時區設定的變化。
請注意,由於DateTimeImmutable
物件是不可變的,因此setTimezone()
函式不會修改原始物件,而是返回一個新的物件,該物件代表了設定新時區後的日期和時間。
此外,如果您要使用可變的DateTime
物件並將時區設定為不同的值,請使用DateTime::setTimezone()
函式。