PHP的strtotime()
函數本身不直接支持時區參數。但是,你可以使用date_default_timezone_set()
函數來設置默認的時區,這樣在調用strtotime()
時,它會根據設置的時區進行解析。
例如,如果你想將字符串"2022-01-01 12:00:00"
轉換為時間戳,并指定時區為Asia/Shanghai
,你可以這樣做:
date_default_timezone_set('Asia/Shanghai');
$timestamp = strtotime('2022-01-01 12:00:00');
echo $timestamp;
如果你需要在轉換時考慮夏令時(DST),建議使用DateTime
類,因為它會自動處理這些細節:
$date = new DateTime('2022-01-01 12:00:00', new DateTimeZone('Asia/Shanghai'));
$timestamp = $date->getTimestamp();
echo $timestamp;
這樣,你就可以在處理日期和時間時,確保時區得到正確的處理。