在不更改php时区设置的情况下转换为UTC

在不更改php时区设置的情况下转换为UTC,php,timezone,utc,Php,Timezone,Utc,如何在不更改默认时区的情况下在php中转换日期字符串的时区。我想在本地将其转换为仅显示。不应修改php时区设置 编辑: 我的源时间是UTC字符串,我想将其转换为其他格式,保留时区为UTC,但php正在将其转换为本地时区。 我使用的代码是: date('Y-m-d H:i::s',strtotime($time_str)); 如何保留时区 $src_tz = new DateTimeZone('America/Chicago'); $dest_tz = new DateTimeZone('Ame

如何在不更改默认时区的情况下在php中转换日期字符串的时区。我想在本地将其转换为仅显示。不应修改php时区设置

编辑: 我的源时间是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");
编辑:看起来您想转到UTC。在这种情况下,只需使用
“UTC”
作为
$dest_tz
构造函数的参数,并使用原始代码块。(当然,如果与默认时区相同,可以省略
$src_tz
参数。)