我叫date_default_timezone_set("UTC")
PHP日期返回错误的时间
<?PHP
$timestamp = time();
echo "<p>Timestamp: $timestamp</p>";
// This returns the correct time
echo "<p>". date("Y-m-d H:i:s", $timestamp) ."</p>";
echo "<p>Now I call 'date_default_timezone_set(\"UTC\")' and echo out the same timestamp.</p>";
echo "Set timezone = " . date_default_timezone_set("UTC");
// This returns a time 5 hours in the past
echo "<p>". date("Y-m-d H:i:s", $timestamp) ."</p>";
?>
后的时区的服务器上下面的脚本将返回错误的时间BST。所以应该发生的情况是,第二次调用'date'应该会在第一次调用后1小时后返回。它实际上是在第一个5小时后返回的。
我应该注意到服务器最初是用EDT时区(UTC -4)设置的。这已更改为BST(UTC +1),并且服务器已重新启动。
我不明白这是PHP的问题还是服务器的问题。
的
名单什么是date_default_timezone_get()显示*之前*您更改时区? – BenOfTheNorth 2012-04-13 11:21:05
时区:欧洲/伦敦 – gargantuan 2012-04-13 11:22:56
什么是您的服务器的'日期'终端命令返回? – 2012-04-13 11:23:02