在我的服务器上从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');
答案 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。