.NET & SQL Server - Datetime or DateTimeOffset?
本问题已经有最佳答案,请猛点这里访问。
只要我一直在使用.NET,我就一直在.NET&存储中存储日期和时间数据。 SQL Server
如果没有,我何时会使用一个而不是另一个?
约会时间
在我的情况下,我使用Datetime,因为它更容易,自从我开始编程以来我一直在使用它。
- 仅使用日期
- 仅与时俱进
- 使用抽象的日期和时间
- 处理缺少时区信息的日期和时间
- 仅使用UTC日期和时间
-
从.NET之外的源(例如SQL数据库)检索日期和时间信息。通常,这些源以与DateTime结构兼容的简单格式存储日期和时间信息
-
执行日期和时间算术,但关注一般结果。例如,在对特定日期和时间增加六个月的附加操作中,是否针对夏令时调整结果通常并不重要
DateTimeOffest
DateTimeOffset结构表示日期和时间值,以及指示该值与UTC的差异程度的偏移量。因此,该值总是明确地标识单个时间点。
DateTimeOffset类型包括DateTime类型的所有功能以及时区感知。这使其适用于执行以下操作的应用程序:
-
独特且明确地识别单个时间点。 DateTimeOffset类型可用于明确定义"now"的含义,记录事务时间,记录系统或应用程序事件的时间,以及记录文件创建和修改时间
-
执行通用日期和时间算术
-
保留多个相关时间,只要这些时间存储为两个单独的值或两个结构成员
使用适合您的需求。在我的情况下,我一直在使用DateTime,它根本没有给我一个问题,但是如果你喜欢去OffsetDateTime。