如何在不更改默认时区的情况下转换 php 中日期字符串的时区。我想将其在本地转换为仅显示。不应修改 php 时区设置。
EDIT:我的源时间是 UTC 字符串,我想将其转换为不同的格式,保留时区为 UTC,但 php 正在将其转换为本地时区。
我使用的代码是:
date('Y-m-d H:i::s',strtotime($time_str));
如何保留时区?
$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");
编辑:看来你想去to世界标准时间。在这种情况下,只需使用"UTC"
作为参数$dest_tz
构造函数,并使用原始代码块。 (当然,你可以省略$src_tz
如果与默认时区相同则参数。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)