目前正在讨论存储日期的最佳方式,并希望有经验的评论 - 寻找“为什么”而不是“如何”。
设想:
我们正在开发一个允许客户(跨多个时区)创建事务数据的系统。在注册时,客户将指定他们的时区。系统的很大一部分围绕着客户端运行日期和时间相关的交易数据报告。
我们已经阅读了许多关于存储交易日期字段的最佳方式的问题和评论,大多数人说存储为 UTC,然后执行各种与日期和时间相关的函数来计算不同时区的时间,以便运行选择报告。
我们的问题是 - 为什么要费尽心思存储在 UTC 中 - 将日期存储在 UTC 有什么好处。从我们的角度来看,我们有客户指定的时区,因此如果我们将日期/时间存储在他们正确的时区中,那么这是我们对每笔交易运行一次的计算 - 此后他们的所有报告都将在没有任何日期转换计算的情况下工作。
由于我们阅读的大多数问题和评论都提到了“如何”,我们认为必须有一些关于“为什么”的东西我们错过了。
因此,总而言之,在我们做出决定之前,我们是否遗漏了一些东西 - 是否有绝对的“必须将日期存储为 UTC”的原因?
感谢阅读 - 任何评论表示赞赏。