2

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结果?

4

2 回答 2

6

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;
于 2012-09-20T23:02:27.723 回答
0

这并没有真正回答我的问题,但我做了以下修复它:

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

于 2012-09-20T23:02:27.507 回答