По какой-то причине функция date()
не выводит дату и время, скорректированные с учетом часового пояса. При отладке я обнаружил странное несоответствие. Мой часовой пояс определен в php.ini
как America/New_York
. Когда я называю это:PHP часовой пояс от php.ini не применяется
echo ini_get('date.timezone');
Я получаю America/New_York
, чего я ожидал. Однако, когда я называю это:
echo date_default_timezone_get();
UTC
я. Кажется, что это отвечает за метод date()
, возвращающий время в часовой пояс UTC. Почему это происходит? Как заставить PHP уважать часовой пояс, найденный в php.ini
?
UPDATE
Я в конечном счете, просто пытаюсь получить часовой пояс с поправкой на время от date('Y-m-d G:i:s')
. Поскольку мой часовой пояс установлен в php.ini, как мне получить правильную дату/время от date()
?
Уважение? В соответствии с ручной документацией рассматриваемой функции - ['date_default_timezone_get()'] (http://php.net/date_default_timezone_get) - не существует определенной связи 1: 1 между настройкой ini и только - и только если используется - между этим и 'date_default_timezone_set()' (копия параметров). Так что ты спрашиваешь здесь? Только то? – hakre
все, о чем я забочусь, когда я называю '' 'date ('Y-m-d G: i: s')' '' Я хочу, чтобы дата/время, скорректированная по часовому поясу. – sebolith
Да, именно так я тебя понял. Вероятно, вам стоит попробовать, если он теперь работает для вас. – hakre