在PHP中,strtotime() 函數根據給定的日期時間字符串返回一個 Unix 時間戳。然而,strtotime() 函數并不考慮時區信息,因此可能會導致時區問題。
為了正確處理時區問題,可以使用date_default_timezone_set() 函數設置默認時區,或者使用DateTime對象來明確指定時區。例如:
// 設置默認時區為東八區(中國標準時間)
date_default_timezone_set('Asia/Shanghai');
// 使用strtotime() 函數轉換日期時間字符串為 Unix 時間戳
$timestamp = strtotime('2022-01-01 00:00:00');
// 使用DateTime對象明確指定時區
$date = new DateTime('2022-01-01 00:00:00', new DateTimeZone('Asia/Shanghai'));
$timestamp = $date->getTimestamp();
通過設置默認時區或者使用DateTime對象來指定時區,可以避免strtotime() 函數可能導致的時區問題。