Метод DateTime и дата() возвращают неправильное время.Объект DateTime не возвращает правильный часовой пояс
php часовой пояс, уже установленный в 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
date_default_timezone_set (Европа/Стамбул); используй это. –
Покажите нам вывод для '$ d-> setTimezone (новый DateTimeZone ('UTC')); echo $ d-> format ("Y-m-d H: i: s"); ' –
Проверяли ли вы свою систему datetime? запустить команду даты в оболочке? – TurtleTread