编辑:
我的源时间是UTC字符串,我想将其转换为其他格式,将时区保留为UTC,但是php正在将其转换为本地时区。
我使用的代码是:
date('Y-m-d H:i::s',strtotime($time_str));
如何保留时区?
#1 楼
$src_tz = new DateTimeZone('America/Chicago');
$dest_tz = new DateTimeZone('America/New_York');
$dt = new DateTime("2000-01-01 12:00:00", $src_tz);
$dt->setTimeZone($dest_tz);
echo $dt->format('Y-m-d H:i:s');
请注意,如果源时间为UTC,则可以将一行更改为此:
$dt = new DateTime("2000-01-01 12:00:00 UTC");
编辑:看起来像您想要的去UTC。在这种情况下,只需将
"UTC"
用作$dest_tz
构造函数的参数,并使用原始代码块即可。 (当然,如果它与默认时区相同,则可以省略$src_tz
参数。)