Всем привет.
Господа, вопрос такого плана: учитывались ли при разработке Битрикса (инфоблоков) переходы на летнее/зимнее время?
Почему возник вопрос: в главной таблице инфоблоков все даты хранятся в столбцах с DATETIME, которые просто хранят значения, не сохраняя информацию о часовом поясе, в котором эти значения попали.
Пример проблемы: предположим, есть два элемента в инфоблоке. Редактируются в последнее воскресенье октября. Первый редактируется в 2.45 (+4 UTC, до перевода времени), ему в TIMESTAMP_X пишется 2.45. Потом перевод времени на час назад, снова 2 часа. В 2.15 (+3 UTC, уже по переведённому времени) обновляется второй элемент.
Получается, если мы после этих действий сделаем выборку этих двух элементов, у первого будет дата обновления 2.45, а у второго - 2.15. Что неверно (получается, что первый элемент обновился позже).
Решается ли в Битриксе как-то такая проблема?
P.S. Проблемы бы вообще не было, если бы все даты были в TIMESTAMP-столбцах в БД. В TIMESTAMP всё пишется внутрь в UTC и конвертируется с учётом текущего часового пояса при вставке/запросе данных.
Господа, вопрос такого плана: учитывались ли при разработке Битрикса (инфоблоков) переходы на летнее/зимнее время?
Почему возник вопрос: в главной таблице инфоблоков все даты хранятся в столбцах с DATETIME, которые просто хранят значения, не сохраняя информацию о часовом поясе, в котором эти значения попали.
Пример проблемы: предположим, есть два элемента в инфоблоке. Редактируются в последнее воскресенье октября. Первый редактируется в 2.45 (+4 UTC, до перевода времени), ему в TIMESTAMP_X пишется 2.45. Потом перевод времени на час назад, снова 2 часа. В 2.15 (+3 UTC, уже по переведённому времени) обновляется второй элемент.
Получается, если мы после этих действий сделаем выборку этих двух элементов, у первого будет дата обновления 2.45, а у второго - 2.15. Что неверно (получается, что первый элемент обновился позже).
Решается ли в Битриксе как-то такая проблема?
P.S. Проблемы бы вообще не было, если бы все даты были в TIMESTAMP-столбцах в БД. В TIMESTAMP всё пишется внутрь в UTC и конвертируется с учётом текущего часового пояса при вставке/запросе данных.