Задать вопрос
IgorPI
@IgorPI

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

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

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

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

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

Или есть какой-то другой способ.
  • Вопрос задан
  • 117 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • Shultais Education
    Продвинутый SQL
    1 месяц
    Далее
  • Merion Academy
    Основы реляционных баз данных SQL
    1 месяц
    Далее
Решения вопроса 3
Писать в базу время в UTC будет проще всего.
Нерекомендуемой альтернативной будет хранить время-дату в БД вместе с тайм зоной.
Ответ написан
BasiC2k
@BasiC2k
.NET developer (open to job offers)
"Каждую запись в базе данных хранить в 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.
...


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

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

Похожие вопросы