Я в Сент-Луисе, Миссури, в центральном часовом поясе США. Мы -6 по Гринвичу
Настройка часового пояса PHP в php.ini: date.timezone = «America / Chicago»
(Чикаго почти прямо к северу от Сент-Луиса.
дата эха («сейчас»); производит: 19 декабря 2015 года, 2:45 утра. РЕДАКТИРОВАТЬ — я имел в виду дату («F j, Y, g: i a», strtotime («сейчас»)); не дата («сейчас»);
Локально (по календарю и по часам) это 18 декабря 2015 года, 20:45.
Вот информация о дате как вывод phpinfo ()
date/time support enabled
"Olson" Timezone Database Version 2015.1
Timezone Database internal
Default timezone America/Chicago
Directive Local Value Master Value
date.default_latitude 31.7667 31.7667
date.default_longitude 35.2333 35.2333
date.sunrise_zenith 90.583333 90.583333
date.sunset_zenith 90.583333 90.583333
date.timezone America/Chicago America/Chicago
Я думал, что если установлен правильный часовой пояс, дата («сейчас») вернет местное время и время — но я, очевидно, ошибаюсь.
Что мне не хватает в функции date () или в PHP в целом?
SimonT
Есть несколько способов справиться с этим:
Ты можешь использовать date_default_timezone_set
отменить настройку часового пояса WordPress.
Вы можете использовать PHP DateTime
учебный класс вместо date
функция, которая принимает часовой пояс в конструкторе
Вы можете изменить настройки часового пояса WordPress в разделе WP Admin / Settings / General:
Других решений пока нет …