2016-04-24 4 views
0

Я читал разные статьи по указанному вопросу, но я не могу понять, какая должна быть лучшая стратегия для хранения даты в db.Лучшая стратегия для сохранения ISO8601

Я буду получать дату ISO8601 через path-param в режиме отдыха. То, что я решил

  1. Используйте Joda-Time, чтобы разобрать дату.
  2. Extract UTC-0 время из даты и часы смещения
  3. Хранить UTC-0 в DateTime типа данных в mysql дб и хранить offset в varchar(5).
  4. Когда я должен искать что-то, основанное на дате (разоблаченный остаток api). Я буду использовать критерии поиска (дата ввода) извлечения UTC-0 время и hours offset и сравнить два столбца в БД, т.е. where table.dateInUTC0 = :inputDateInUTC0 AND table.hoursOffset = :inputHoursOffset

Я не уверен, что шаг 4. Делаю ли я прав?

ответ

0

Я не уверен о шаге 4. Я делаю это правильно?

Действительно, это зависит от того, что вы делаете , попробовав.

  • Если вы хотите, поиск в единственном матче, если искатель использует тот же часовой пояс, что и исходные данные, то вы делаете это правильно.

  • Если вы этого не хотите, вы делаете это неправильно.

Спросите себя: Если вы ввели ту же дату/время в вашем часовом поясе и UTC (или какой-либо другой временной зоне), они означают то же самое для клиентов вашего сервера? Должны ли они?

Смежные вопросы