2016-04-24 101 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(或其他时区)输入相同的日期/时间,难道他们意味着为您的服务器的客户同样的事情?他们应该吗?