PHP中的strtotime()转换出错

时间:2014-06-23 07:21:10

标签: php datetime time php-5.3 strtotime

我的变量$createdDate的值为'2014-06-23T01:44:22Z'。它是从数据库中提取的。

当我使用strtotime()将其转换为标准格式时,返回的时间总是与原始变量的时间不同(提前)2小时。

$time1 = strtotime($createdDate);
$cretime_formated=date("Y-m-d h:i:s",$time1);

$cretime_formated的输出为2014-06-23 03:44:22而不是2014-06-23 01:44:22。为什么时间有两个小时的差异???我的转换过程有什么问题吗?

2 个答案:

答案 0 :(得分:1)

鉴于日期是在Zulu时区(假设所有这些时间戳都在同一时区),您需要gmdate()格式化它:

$cretime_formated = gmdate("Y-m-d h:i:s",$time1);

答案 1 :(得分:1)

我认为你有时差。你需要在UTC

中设置它
date_default_timezone_set('UTC');

See Complete Refrence

List of Supported Timezones