PHP代码
$t = strtotime( '2012-09-21T03:00:00+00:00 America/Chicago' );
$t2 = date('c',$t);
echo $t2;
输出
2012-09-20T23:00:00-04:00
问题
芝加哥的时区是 UTC-5,为什么我没有得到2012-09-20T22:00:00-05:00
结果?
strtotime
转换为 Unix 时间戳。date
将使用当前时区将时间戳转换为字符串。首先尝试设置您的时区。
$t = strtotime( '2012-09-21T03:00:00+00:00 America/Chicago' );
date_default_timezone_set('America/Chicago');
$t2 = date('c',$t);
echo $t2;
这并没有真正回答我的问题,但我做了以下修复它:
date_default_timezone_set('America/Chicago');
$t = strtotime( '2012-09-21T03:00:00+00:00' );
$t2 = date('c',$t);
echo $t2;
输出:2012-09-20T22:00:00-05:00