我通常会有一个“拦截器”,在读写数据库之前进行日期时间转换(从UTC到本地时间,从本地时间到UTC),这样我就可以在整个系统中使用 DateTime.Now
(派生和比较)而不必担心时区。
关于序列化和在计算机之间移动数据,无需担心,因为日期时间始终是UTC时间。
我应该继续以UTC格式存储我的日期(SQL 2008 - datetime),还是应该改用 DateTimeOffset
存储(SQL 2008 - datetimeoffset)?
在数据库中使用UTC日期(datetime类型)已经运作良好并且已知很长时间,为什么要改变呢?有什么优点吗?
我已经看过像这篇文章那样的文章,但我并不完全相信。你有什么想法吗?