DateTime对象和date()方法返回错误的时间。
php timezone已在php.ini中设置getter方法验证时区设置。但生成时间显示落后4小时
PHP版本5.4.16
if (date_default_timezone_get()) {
echo 'date_default_timezone_set: '. date_default_timezone_get() .'<br />';
}
if (ini_get('date.timezone')) {
echo 'date.timezone: ' . ini_get('date.timezone') . "<br>";
}
$d = new DateTime();
echo $d->format("Y-m-d H:i:s") . "<br>";
$d->setTimezone(new DateTimeZone('Europe/Istanbul'));
echo $d->format("Y-m-d H:i:s");
结果:
date_default_timezone_set: Europe/Istanbul
date.timezone: Europe/Istanbul
2016-12-03 10:44:15
2016-12-03 10:44:15
应该是2016-12-03 14:44:15
答案 0 :(得分:0)
使用这个简单的代码
回音日期(&#34; d-M-Y&#34;);
date_default_timezone_set(&#39;亚/加尔各答&#39);
回音日期(&#34; h:i:sa&#34;);