Время на форуме (Съезжает каждый раз, когда в Эстонии переводят время)
Время на форуме
Съезжает каждый раз, когда в Эстонии переводят время
Какое-то время назад, читая код движка форума, заметил, что он некорректно работает с отображением времени. В тот момент время форума было правильным, но насколько я мог судить, с переходом Эстонии на зимнее время, оно должно было съехать.
Вчера случайно об этом вспомнил, заглянул на форум и убедился, что так оно и произошло. Если будете чинить, вам нужно править функции long_date_out() и short_date_out(), они некорректно используют стандартную функцию date(), которая форматирует локальное время. Они ложно полагают, что смещение локального времени в течение года постоянно и наивно пытаются его компенсировать константой $GLOBALS['opt_timeregion'], что в случае с временной зоной Эстонии дважды в год приводит к появлению дельты.
Если лень чинить движок, можете просто задать на сервере какую-нибудь временную зону без перехода на летнее время и соответствующее ей значение $GLOBALS['opt_timeregion'].
Какое-то время назад, читая код движка форума, заметил, что он некорректно работает с отображением времени. В тот момент время форума было правильным, но насколько я мог судить, с переходом Эстонии на зимнее время, оно должно было съехать.
Вчера случайно об этом вспомнил, заглянул на форум и убедился, что так оно и произошло. Если будете чинить, вам нужно править функции long_date_out() и short_date_out(), они некорректно используют стандартную функцию date(), которая форматирует локальное время. Они ложно полагают, что смещение локального времени в течение года постоянно и наивно пытаются его компенсировать константой $GLOBALS['opt_timeregion'], что в случае с временной зоной Эстонии дважды в год приводит к появлению дельты.
Если лень чинить движок, можете просто задать на сервере какую-нибудь временную зону без перехода на летнее время и соответствующее ей значение $GLOBALS['opt_timeregion'].
- Anderson1
- Advanced Member
- Сообщения: 3139
- Зарегистрирован: 27.02.2011,18:38
- Откуда: Москва
-
Вклад в сообщество
А самое весёлое, что на главной странице вообще показывается время по GMT. Например:
[Москва] Отдам даром старый хлам
Полурабочий и нерабочий.
12 сообщений, Последнее сообщение: Anderson1, 12 ноября 2018 3:13
Это когда на форуме в разделе показывается без входа 6:13, а на самом деле это было в 7:13.
Я уже писал в багрепорты раз несколько про косяки времени на форуме - никто не чешется. До этой темы думал, что совсем всем на это начихать...
ИЕЦ, ещё баг, но не в эту тему: на главной странице пишется, что обозначено кто и когда написал последнее сообщение, а по факту представлено не последнее, а первое.
[Москва] Отдам даром старый хлам
Полурабочий и нерабочий.
12 сообщений, Последнее сообщение: Anderson1, 12 ноября 2018 3:13
Это когда на форуме в разделе показывается без входа 6:13, а на самом деле это было в 7:13.
Я уже писал в багрепорты раз несколько про косяки времени на форуме - никто не чешется. До этой темы думал, что совсем всем на это начихать...
ИЕЦ, ещё баг, но не в эту тему: на главной странице пишется, что обозначено кто и когда написал последнее сообщение, а по факту представлено не последнее, а первое.
- Tronix
- Advanced Member
- Сообщения: 3625
- Зарегистрирован: 15.01.2008,11:00
- Откуда: Москва
-
Вклад в сообщество
У меня показывается в соответствии с настройками в профиле, то есть GMT+4, московское, как и указано в профиле.Anderson1 писал(а):А самое весёлое, что на главной странице вообще показывается время по GMT. Например:
Если не залогинен - то не понятно какое время показывать. Может я из Куала-Лупумбы зашел на форум, или из Магадана. Поэтому и кажет GMT. А так это наверное надо прикручивать какую-нибудь геолокацию и прочий шлак.
- Anderson1
- Advanced Member
- Сообщения: 3139
- Зарегистрирован: 27.02.2011,18:38
- Откуда: Москва
-
Вклад в сообщество
А у меня время на главной странице показывается независимо от настроек в профиле. Которые то же GMT+4. Что нужно сделать чтоб показывалось правильно хотя бы после логина?
Кроме того, зачем такая путаница: когда на главной странице сайта показывается время по GMT, а на форуме локальное эстонское время? Почему бы не привести это к общему знаменателю? Т.е. либо всё по GMT либо всё по эстонскому?
Кроме того, зачем такая путаница: когда на главной странице сайта показывается время по GMT, а на форуме локальное эстонское время? Почему бы не привести это к общему знаменателю? Т.е. либо всё по GMT либо всё по эстонскому?
- uav1606
- Advanced Member
- Сообщения: 5969
- Зарегистрирован: 16.01.2008,22:04
- Откуда: Енакиево
- Контактная информация:
-
Вклад в сообщество
Я могу только сказать, что в админке форума в общих настройках "Часовой пояс времени на сервере:" стоит "GMT + 3 (московское время)". Этот же пояс по умолчанию стоит и для гостя.
При этих же настройках не тестовом форуме у меня всё в порядке.
А здесь время отправки сообщения получается по GMT, т.е. минус 3 к московскому.
Возможно, на самом хостинге что-то не то, надо у Serge спрашивать.
При этих же настройках не тестовом форуме у меня всё в порядке.
А здесь время отправки сообщения получается по GMT, т.е. минус 3 к московскому.
Возможно, на самом хостинге что-то не то, надо у Serge спрашивать.
В Линуксе (а форум, судя по всему, работает на Fedora) время всегда в UTC, но у каждого процесса в окружении есть переменная TZ, которую функции для работы с локальным временем используют для пересчёта универсального скоординированного времени в локальное в соответствии в описанием временных зон (tzdata).Serge писал(а):Надо у хостера спросить, зачем GMT на сервере.
Если переменная TZ в окружении отсутствует, используется временная зона из /etc/localtime.
Поверх этой истории PHP наворачивает свои настройки, которые могут перекрыть системные.
Утверждение, что у вашего хостера UTC стоит как временная зона по умолчанию вызывает сомнение по причинам описанным в первом посте. (И, если я ничего не путаю, раньше, когда файл имяникомунескажем.php, выводящий phpinfo(), ещё был доступен, я лично видел там эстонскую временную зону.)
Напишите, на основании чего вы делаете такой вывод и что вы сейчас видите в выводе phpinfo().
- Serge
- Тех.адм.
- Сообщения: 2105
- Зарегистрирован: 04.11.2001,19:04
- Откуда: Tallinn, Estonia
- Контактная информация:
Время на форуме (Съезжает каждый раз, когда в Эстонии переводят время)
Тема закрыта и перенесена в архив.