PHP返回错误的时间

时间:2014-06-19 13:41:29

标签: php

在我的服务器上从SSH运行日期确认服务器时间设置正确。 下面的代码产生的结果比当地时间早4个小时。

<?php
    date_default_timezone_set('America/New_York');
    $now = new DateTime();
    $rsnew['updated'] = $now->format('Y-m-d H:i:s');  
 ?> 

服务器当地时间:2014年6月19日星期四09:36:41 上述代码返回的时间:2014-06-19 13:36:51

任何人都知道问题是什么?

提前致谢。

使用Rakish的示例,以下代码生成所需的结果。这并没有解释为什么我的代码不起作用,但我对结果很满意。

$datetime = new DateTime();
$ny_time = new DateTimeZone('America/New_York');
$datetime->setTimezone($ny_time);
$rsnew['updated'] = $datetime->format('Y-m-d H:i:s');

2 个答案:

答案 0 :(得分:0)

尝试使用date()

date_default_timezone_set('America/New_York');
echo date('Y-m-d H:i:s');

使用datetime使用setTimezone()

$datetime = new DateTime();
$ny_time = new DateTimeZone('America/New_York');
$datetime->setTimezone($ny_time);
echo $datetime->format('Y-m-d H:i:s');  

答案 1 :(得分:0)

检查您的php.ini文件并验证时区是否正确:

date.timezone =&#34; America / New_York&#34;

自php5.1起; date_default_timezone_set将不再起作用。您将在错误日志中看到错误。

的Gr。