Gid*_*sey 3 .net c# sql-server datetime datetimeoffset
自从我使用 .NET 以来,我就一直在 .NET 和 SQL ServerDateTime数据类型中存储日期和时间数据。我最近意识到DateTimeOffset.NET 和 SQL Server 中存在这些类型。
该DateTimeOffset类型现在是否应该成为我使用和存储时间的默认数据类型?
如果没有,我什么时候会使用一个?
小智 5
约会时间
好吧,就我而言,我使用 Datetime 因为它更容易,而且自从我开始编程以来我一直在使用它。
从 .NET 之外的来源(例如 SQL 数据库)检索日期和时间信息。通常,这些源以与 DateTime 结构兼容的简单格式存储日期和时间信息
执行日期和时间算术,但关注一般结果。例如,在将特定日期和时间增加六个月的加法运算中,结果是否针对夏令时进行调整通常并不重要
日期时间偏移
DateTimeOffset 结构表示日期和时间值,以及指示该值与 UTC 相差多少的偏移量。因此,该值始终明确标识单个时间点。
DateTimeOffset 类型包括 DateTime 类型的所有功能以及时区感知。这使其适用于执行以下操作的应用程序:
唯一且明确地标识单个时间点。DateTimeOffset 类型可用于明确定义“现在”的含义、记录事务时间、记录系统或应用程序事件的时间以及记录文件创建和修改时间
执行一般日期和时间算术
保留多个相关时间,只要这些时间存储为两个单独的值或结构的两个成员
使用适合您需要的任何一种。就我而言,我一直在使用 DateTime,它根本没有给我带来任何问题,但是如果您喜欢使用 OffsetDateTime。