Часовой пояс в ICMS 2.0

#1 26 октября 2014 в 10:11
Как и предполагалось, обнаружилась проблема с временем. Сегодня ночью часы в нашем регионе были переведены на час назад. В Инстансе разница с UTC осталась +6 часов, хотя должна стать +5. В настройках сайта указан корректные регион Азия/Екатеринбург. В профиле пользователя тоже стоит нужный часовой пояс.
На самом сервере все обновления установлены, тайм зона стоит UTC. Более того, на том же сервере крутится сайт под управление Xenforo — тоже всё нормально, время показывает как надо.

В Инстанте 1.10.3 пришлось поставить смещение "-1". Хотя мне этот вариант тоже не нравится. А вот как поправить время в 2.0?

PS: Вот и на этом сайте время тоже не правильно. Пост написан в 11.11, а сайт говорит, что в 10.11…
#2 26 октября 2014 в 12:33

Вот и на этом сайте время тоже не правильно. Пост написан в 11.11, а сайт говорит, что в 10.11...

Coolmax
потому что официальные апдейты для Debian6 почему то оставили для Europe/Moscow смешение +4, пришлось вручную мержиться с таймзонами от Debian 7. Сейчас вновь добавляемые посты имеют правильное время.

В InstantCMS 2 не указывается смещение по времени, там указываются просто таймзоны, которые устанавливаются системно. В InstantCMS 1 если смещение не задано, то так же считывается текстовая таймзона. Иными словами, все берется от системы.

1. date -R что говорит на сервере?
2. Mysql рестартили после применения изменений от системной tzdata?
#3 26 октября 2014 в 14:27

1. date -R что говорит на сервере?

Fuze
Sun, 26 Oct 2014 11:19:55 +0000

2. Mysql рестартили после применения изменений от системной tzdata?

Fuze
Точно не скажу, Но остальные движки на том же сервере работают нормально: WordPress, Xenforo...

На сервере стоит Debian 7.7
#4 26 октября 2014 в 16:38

Sun, 26 Oct 2014 11:19:55 +0000

Coolmax
у вас на сервере неверная таймзона стоит, должно быть +0500
#5 26 октября 2014 в 18:08

у вас на сервере неверная таймзона стоит, должно быть +0500

Fuze
Чего вдруг? Сервер живёт по UTC, как и должно быть. А вот в какой таймзоне работает сайт — должно настраиваться на CMS сайта. Разве не так?
Повторюсь ещё раз — с остальными сайтами на сервере проблем нет, только с ICMS, причём если в версии 1.10.3 проблему удалось решить установкой смещения в "-1", то в "двойке" проблему решить не удалось. Хотя в настройках стоит "Азия/Екатеринбург". Может-таки признать ошибку и решить её?
#6 26 октября 2014 в 18:18
Coolmax, так а что вы хотите чтобы мы поменяли?
Движок просто устанавливает таймзону по названию, без указания смещения:
  1. date_default_timezone_set("Europe/Moscow");
Время для этой зоны возвращает сервер
#7 26 октября 2014 в 18:29

Может-таки признать ошибку и решить её?

Coolmax
Мы не пытаемся "открестится". А разъясняем принцип формирования времени в движке.

Повторюсь ещё раз — с остальными сайтами на сервере проблем нет

Coolmax
Возможно у них просто другой принцип работы со временем.

Я пытаюсь вникнуть в ваш вопрос, чтобы помочь, попробуйте и вы вникнуть в ответы. В первом моем сообщении я дал направление куда копать. Вы проверили, стало ли корректно обновление в операционной системе?
#8 26 октября 2014 в 19:03
Хорошо, попробую вот так:
  1. echo date("d-m-Y H:i:s");
  2. date_default_timezone_set("Asia/Yekaterinburg");
  3. echo date("d-m-Y H:i:s");
  4.  
В браузере получаю:
  1. 26-10-2014 15:51:41 26-10-2014 20:51:41
Т.е. таймзона встала как надо, на сервере неполадок нет. Mysql специально перезапускал вручную. Итог: WordPress и Xenforo как работали правильно так и работают.

PS: С веткой 1.10.3 вопрос снимаю: сам когда-то вносил правки в db.class.php Там указывал смещение в часах "+6:00", поправил на "+5:00" всё стало нормально. Если убрать там ручную установку смещения, то всё идёт в UTC. С веткой 2.0 вопрос остаётся открытым.
#9 27 октября 2014 в 00:50

echo date("d-m-Y H:i:s");
date_default_timezone_set("Asia/Yekaterinburg");
echo date("d-m-Y H:i:s");

Coolmax
у меня сейчас на сервере время на час вперед показывает
а с москвой то как стравнять, какой часовой пояс тут написать:
  1. date_default_timezone_set("Europe/Moscow");
показывает 1-50 вместо 0-50
#10 27 октября 2014 в 01:10
  1. date_default_timezone_set("Europe/Kaliningrad");
Поставил пока так. Теперь как москва.
#11 27 октября 2014 в 04:34

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

kreator
Какая ОС на сервере? Какая версия tzdate? Либо одновления не поставлены, либо поставлены не так. На Debian 7 — проблем с таймзонами нет.
#12 28 октября 2014 в 16:35
Я так понимаю, что проблем больше ни у кого нет?
#13 3 ноября 2014 в 14:59
Аналогичная проблема. Настройки Europe/Moscow, сервер выдает Mon, 03 Nov 2014 14:47:46 +0300 (Московский часовой пояс GMT+3). Но публикации показывают старое время.
#14 3 ноября 2014 в 16:46
Как я понял, какие бы настройки не стояли в админке по таймзоне, все-равно сайт выдает по факту GMT+4. Неужели только у троих проблема?))
#15 3 ноября 2014 в 17:02
Обновил временные зоны для сервера баз данных. Вероятно, проблема была именно в этом.
Также на всякий случай перезапустил веб-серверы и сервер БД. Теперь все ок.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.