IgorPI
@IgorPI

Какое время писать в базу данных если пользователи в разных временных зонах?

Коллеги, вопрос простой, но на деле не всё так просто.

Столкнулись с проблемой, пользователи жалуются, мол время не верное у них в таблицах.
Оно очевидно, так как этой теме мало уделялось времени.

Как лучше всего поступить?

Каждую запись в базе данных хранить в UTC.
При выборке данных, учитывать смещение каждого пользователя.

Или есть какой-то другой способ.
  • Вопрос задан
  • 97 просмотров
Решения вопроса 3
Писать в базу время в UTC будет проще всего.
Нерекомендуемой альтернативной будет хранить время-дату в БД вместе с тайм зоной.
Ответ написан
BasiC2k
@BasiC2k
"Каждую запись в базе данных хранить в UTC.
При выборке данных, учитывать смещение каждого пользователя"
Это лучший вариант.
Ответ написан
IgorPI
@IgorPI Автор вопроса

There are many nitty gritty details when working with PHPs DateTime instances. You have to know their inner workings pretty well not to make mistakes with date handling. This cookbook entry holds several interesting pieces of information on how to work with PHP DateTime instances in ORM.
...
1. Always convert any DateTime instance to UTC.
2. Only set Timezones for displaying purposes
3. Save the Timezone in the Entity for persistence.
...


Материал по теме
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы