2012-01-31 52 views
22

DateTimeDateTimeOffset对象之间的区别是什么?'DateTime'和'DateTimeOffset'之间的区别

我们应该什么时候使用每一个?

在可能更改服务器区域的Web应用程序中,存储日期和时间。哪一个更好,还是有其他建议?

+0

@ChrisLively谢谢。 – 2012-01-31 01:31:56

+0

另请参阅[这个答案](http://stackoverflow.com/a/14268167) – 2013-01-11 00:48:44

回答

19

DateTimeOffset表示一个时间点,通常表示为相对于协调通用时间(UTC)的日期和时间,它提供比DateTime结构更高程度的时区感知。在这里看到 - http://msdn.microsoft.com/en-us/library/bb546101.aspx

+9

所以谢谢。有帮助:D我不明白为什么一些peaple投下我的简单问题!我是新人,我应该越来越多地学习,而且我应该问我的探头! – 2012-01-31 01:33:10

+0

它具有的“时区感知”的唯一程度是它存储特定时刻的UTC偏移。它没有其他时区知识,包括创建时值的时区,所以它只能用于历史数据。对于其他任何东西都是没用的。 – Suncat2000 2017-10-09 11:32:44

7

DateTimeOffset克服了DateTime的缺点。它表示为相对于协调世界时(UTC)的日期和时间。 例如:

鉴于2013年4月18日11:00:00 AM如果您没有参考点,则表示完全没有任何意义。那可能是世界上任何地方的上午11:00:00。 DateTimeOffset包含您正在处理的时区的信息,这使世界上的所有不同!

更多详细信息must read once

+0

唯一的区别是,它仅存储DateTime表示的特定时间的UTC偏移量。它不会存储实际的时区,所以基本上你所能做的就是在相对本地时间和UTC之间进行转换。在某些情况下很有帮助,但信息相当薄弱,否则。什么DateTimeOffset不是一个时区感知的DateTime类。 – Suncat2000 2017-10-09 11:37:41

相关问题