DomenForum.net

DomenForum.net (https://domenforum.net/index.php)
-   Программирование (https://domenforum.net/forumdisplay.php?f=26)
-   -   WordPress: date не обрабатывает часовой пояс (https://domenforum.net/showthread.php?t=229100)

Port_Artur 26.01.2022 17:52

WordPress: date не обрабатывает часовой пояс
 
$datetime имеет формат

2022-01-25T00:11:00+01:00

при попытке выбрать время из под WordPress

PHP код:

date("H:i:s"strtotime($datetime)); 

не учитывается часовой пояс +1 час (+01:00)



Если подгружаю данные по Ajax, то тот же запрос показывает время с учетом + 1 час

С чем это может быть связано? Хотелось бы понимания проблемы и единообразия в коде.

estic 26.01.2022 23:59

Наверное, в качестве временной зоны в настройках PHP указано UTC.

Перед использованием date() укажите вашу временную зону при помощи date_default_timezone_set($tz) или ini_set('date.timezone', $tz).

добавлено через 1 минуту
От AJAX-а это не зависит :) Наверное, там другой обработчик.

добавлено через 9 минут
На своем сервере для одной и той же целевой аудитории обычно просто в настройках прописывают нужную временную зону, например:
Код:

date.timezone = "Europe/Moscow"

Port_Artur 27.01.2022 01:05

Временная зона в $datetime меняется от -12 до +12

В Вордпресс итак стоит UTC+3.

Почему
PHP код:

date("H:i:s"strtotime($datetime)); 

под вордпрессом не учитывает часовой пояс в строке

2022-01-25T00:11:00+01:00

estic 27.01.2022 10:23

Цитата:

Сообщение от Port_Artur (Сообщение 1536107)
В Вордпресс итак стоит UTC+3.

Я не знаю, что это значит. Но знаю, что date() - стандартная функция, которая учитывает настройки PHP. Или пользуйтесь соответствующими функциями WP-а, или настраивайте date() на нужную вам временную зону.

добавлено через 10 минут
strtotime() должна понимать формат Atom, но date() об этом +1 ничего не известно, т.к. вы прежде делаете перевод в абсолютное время Unix.


Текущее время: 12:12. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Техническая поддержка — DevArt.PRO. Перевод: zCarot.