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;
这样,你就可以在处理日期和时间时,确保时区得到正确的处理。