Для вступления в общество новичков и профессионалов домен-индустрии, пожалуйста нажмите здесь ...

   
 Купля-продажа и обсуждение доменных имён
        

  
Вернуться   Форум о доменах > Дизайн и развитие проектов > Программирование
Регистрация Реноме Правила форума Справка Пользователи Социальные группы Все разделы прочитаны
Программирование PHP, Perl, HTML, XHTML, CSS, JavaScript, MySQL и другие языки кодирования.

Ответ
 
Опции темы
Сегодня
от 149р за .RU
Аренда сервера
2x Intel Hexa-Core Xeon E5-2420
Всего 79 евро!

с видеокартой GeForce GTX 1080 Ti
всего 99 евро!

от 149р за .РФ Реклама на DomenForum.net
Старый 26.01.2022, 17:52   #1
 
Аватар для Port_Artur
 
Регистрация: 03.12.2006
Адрес: Россия
Сообщений: 3,459
Доменные сделки: 24
Реноме: 1410
Одобрения
Спасибо (Отдано): 522
Спасибо (Получено): 743
Отправить сообщение для Port_Artur с помощью ICQ
WordPress: date не обрабатывает часовой пояс

$datetime имеет формат

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

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

PHP код:
date("H:i:s"strtotime($datetime)); 
не учитывается часовой пояс +1 час (+01:00)



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

С чем это может быть связано? Хотелось бы понимания проблемы и единообразия в коде.
Port_Artur вне форума   Ответить с цитированием
Старый 26.01.2022, 23:59   #2
 
Аватар для estic
 
Регистрация: 01.10.2021
Сообщений: 80
Доменные сделки: 0
Реноме:
Одобрения
Спасибо (Отдано): 13
Спасибо (Получено): 23
Наверное, в качестве временной зоны в настройках PHP указано UTC.

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

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

добавлено через 9 минут
На своем сервере для одной и той же целевой аудитории обычно просто в настройках прописывают нужную временную зону, например:
Код:
date.timezone = "Europe/Moscow"

Последний раз редактировалось estic; 27.01.2022 в 00:09. Причина: Добавлено сообщение
estic вне форума   Ответить с цитированием
Старый 27.01.2022, 01:05   #3
 
Аватар для Port_Artur
 
Регистрация: 03.12.2006
Адрес: Россия
Сообщений: 3,459
Доменные сделки: 24
Реноме: 1410
Одобрения
Спасибо (Отдано): 522
Спасибо (Получено): 743
Отправить сообщение для Port_Artur с помощью ICQ
Временная зона в $datetime меняется от -12 до +12

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

Почему
PHP код:
date("H:i:s"strtotime($datetime)); 
под вордпрессом не учитывает часовой пояс в строке

2022-01-25T00:11:00+01:00
Port_Artur вне форума   Ответить с цитированием
Старый 27.01.2022, 10:23   #4
 
Аватар для estic
 
Регистрация: 01.10.2021
Сообщений: 80
Доменные сделки: 0
Реноме:
Одобрения
Спасибо (Отдано): 13
Спасибо (Получено): 23
Сообщение от Port_Artur Посмотреть сообщение
В Вордпресс итак стоит UTC+3.
Я не знаю, что это значит. Но знаю, что date() - стандартная функция, которая учитывает настройки PHP. Или пользуйтесь соответствующими функциями WP-а, или настраивайте date() на нужную вам временную зону.

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

Последний раз редактировалось estic; 27.01.2022 в 10:34. Причина: Добавлено сообщение
estic вне форума   Ответить с цитированием
Ответ



Реклама

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Закладки Добавить Тема в закладки

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


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