Мужики, столкнулся тут с проблемой:
Есть самописная прога на php+apache+mysql5.6+FreeBSD, типа СРМ система для конторы.
Работала всех устраивая 3 года и тут я сервак обновил до 10-STABLE, и прилетело соответственно изменение часовых поясов от 26 октября 2014 года.
Время во всех местах ушло на час вниз. К тому же заметил это не сразу, а соответственно новые занесённые с момента обновления данные были уже в корректном часовом поясе. Вобщем небольшой караул. В принципе я это решил, но на будущее решил избавить себя от решений правительства в сфере часовых зон.
Подскажите пожалуйста, как лучше это предусмотреть? Хранить дату в виде строки, типа дд-мм-гггг чч.мм.сс?
Работать в запросах с этим не очень удобно, хочется хранить в виде UNIX_TIMESTAMP.
Подскажите пожалуйста решение, как время нормализовать чтобы оно не зависело от часового пояса? В GMT может на серваке его держать всегда, а уже программно приводить к нужному поясу? Или всё-же строка единственный выход?
Хранение даты в БД без проблем с часовыми поясами
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- Alex Keda
- стреляли...
- Сообщения: 35437
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
-
- подполковник
- Сообщения: 3924
- Зарегистрирован: 2008-09-04 11:51:25
- Откуда: Санкт-Петербург
Хранение даты в БД без проблем с часовыми поясами
Ничего не понял, кроме того, что вы прошляпили переход на зимнее время))) А как раньше работали, при скачках с зимнего на летнее и обратно?
-
- проходил мимо
Хранение даты в БД без проблем с часовыми поясами
Лис, просто хранить в ГМТ не поможет как я понял. Один фиг допустим сменился на серваке (в час Х) ГМТ+3 на ГМТ+2 и выводиться все данные о времени которые были при ГМТ+3 (до часа Х) станут на час меньше.
Тут решение всё-таки хранить метки времени как строку в дополнение к TIMESTAMP'у. А также вовремя обновлять данные временных зон. В строке время к тому же хранится и с указанием зоны, так что в случае если прошляпил чего-то, то можно UPDATE'ом поменять все TIMESTAMP'ы для дат после смены часовых поясов.
Короче смысл в том, что пока петух в жопу не клюнет... На этой ситуации полностью прочувствовал всю важность внимания к хранению времени в прогах.
Теперь этот вопрос хорошенько обмозгую и в своих делах его буду всегда учитывать. Чего и другим желаю.
Тут решение всё-таки хранить метки времени как строку в дополнение к TIMESTAMP'у. А также вовремя обновлять данные временных зон. В строке время к тому же хранится и с указанием зоны, так что в случае если прошляпил чего-то, то можно UPDATE'ом поменять все TIMESTAMP'ы для дат после смены часовых поясов.
Короче смысл в том, что пока петух в жопу не клюнет... На этой ситуации полностью прочувствовал всю важность внимания к хранению времени в прогах.
Теперь этот вопрос хорошенько обмозгую и в своих делах его буду всегда учитывать. Чего и другим желаю.

- f_andrey
- майор
- Сообщения: 2651
- Зарегистрирован: 2007-12-26 1:22:58
- Откуда: СПб
- Контактная информация:
Хранение даты в БД без проблем с часовыми поясами
Так хранить юникстайм, возможно ещё какую инфу, если его мало и надо ещё что. Там как понимаю не только время периодически то тут, то там меняется, но как стало известно, ещё иногда и секунды прибавляют, утилиты на это, с помощью как раз баз ntp должны нормально реагировать и корректно переводить даты, именно для этого и надо держать актуальную базу.
Если ваша тема перенесена, то смотри http://forum.lissyara.su/viewtopic.php?f=1&t=32308