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