【发布时间】:2018-11-08 04:33:51
【问题描述】:
我想使用 PHP 将 UTC 时间转换为 CST。谷歌搜索后我得到了一个函数
function date_convert($dt, $tz1, $df1, $tz2, $df2) {
// create DateTime object
$d = DateTime::createFromFormat($df1, $dt, new DateTimeZone($tz1));
// convert timezone
$d->setTimeZone(new DateTimeZone($tz2));
// convert dateformat
return $d->format($df2);
}
echo date_convert('2018-05-29 11:44:00', 'UTC', 'Y-m-d H:i:s', 'CST', 'Y-m-d H:i:s');
输出是
2018-05-29 05:44:00
但是当我尝试使用 online converter 将 2018-05-29 11:44:00 转换为 UTC 时,我得到的结果是 05/29/2018 6:44 AM,比函数返回的时间多 1 小时。
谁能帮我找到正确的输出?提前致谢。
【问题讨论】:
-
我猜目标时区当前处于夏令时模式,这使它成为 CDT,这是一个小时偏移量。 PHP 考虑了这一点。