2016-04-24 100 views
0

我一直在閱讀有關上述問題的不同文章,但我無法弄清楚在db中存儲日期的最佳策略是什麼。堅持ISO8601的最佳策略

我將在休息電話中通過path-param接收ISO8601日期。我已決定

  1. 使用Joda-Time解析日期。
  2. 提取UTC-0超時的日期和時間偏移
  3. 商店UTC-0mysql分貝DateTime數據類型和存儲offsetvarchar(5)
  4. 當我必須根據日期(暴露的休息api)搜索的東西。我將使用的搜索條件(輸入日期)提取UTC-0時間和hours offset以及DB即where table.dateInUTC0 = :inputDateInUTC0 AND table.hoursOffset = :inputHoursOffset

的比較兩列,我不知道第4步。我這樣做對嗎?

回答

0

我不知道第4步。我在做我的權利?

真的,這取決於你在做什麼

  • 如果你想搜索只匹配當搜索者使用相同的時區作爲原始數據,那麼你的權利這樣做。

  • 如果你不想那樣做,你是做錯了。

問自己:如果你在你的本地時區和UTC(或其他時區)輸入相同的日期/時間,難道他們意味着爲您的服務器的客戶同樣的事情?他們應該嗎?