以UTC存储日期时间

问题描述:

如果只能使用日期而没有时间,那么将多个时区应用程序的所有日期保存为UTC仍然是明智之举吗?以UTC存储日期时间

我建议使用DateTimeOffset - 这允许您存储DateTime和UTC偏移量。

另外,请阅读this SO关于时区最佳实践的问题。

+0

你会保存客户端的UTC抵消吗? – adriaanp 2011-06-11 19:37:50

+0

@adriaanp - 对于时区敏感的应用程序,是的。 – Oded 2011-06-11 19:38:51

+0

我对此感到困惑。可以说客户端输入6/11/2011然后我保存6/11/2011 12:00:00 AM -07:00(客户端的时区)如果服务器的UTC偏移量是+02:00,我想查询日期,我应该使用DateTimeOffset.Now或DateTimeOffset.Now.Date? – adriaanp 2011-06-11 20:01:59

一般的答案是肯定的,但如果时间部分没有存储,它会在时间转换中引入错误。时区转换需要时间部分来产生有意义的结果。因此,只需存储完整的UTC时间(即日期和时间),因为您可以随时修改它以在必要时进行日期。