2016-10-13 1 views
0

Я строю собственную тему и плагин для WordPress и заметил, что призывы к date_default_timezone_get() возвращение «UTC», даже если:Предполагается, что часовой пояс WordPress установлен в UTC в рамках тем и плагинов?

  1. PHP настроен на локальный часовой пояс.
  2. Wordpress установлен в локальный часовой пояс в настройках: Общие: часовой пояс.

Это правильное поведение для WordPress, или у меня что-то неправильно сконфигурировано, плохой плагин и т. Д.?

Нужно ли мне переключиться на мой местный часовой пояс перед любыми вызовами функций даты и времени PHP (а затем восстановить их позже)?

ответ

0

Да, WordPress работает в UTC внутренне, поэтому значения, которые вы получаете от PHP date(), time() и т. Д., Будут также в UTC. Вы можете обернуть их при звонках до date_default_timezone_set(), но это становится беспорядочным.

Как правило, проще использовать функцию WordPress current_time().

Он может возвращать отформатированную дату (например, вы могли бы использовать функцию PHP date()) или временную метку (например, вы могли бы получить, вызвав функцию PHP time()). Возвращаемое значение времени может использоваться для того, чтобы засеять другие функции даты и времени PHP. По умолчанию current_time() возвращает значения для локального часового пояса.

ПРИМЕЧАНИЕ. Не переходите в местный часовой пояс, используя date_default_timezone_set(), перед вызовом current_time() или вы получите от него плохие значения.