【发布时间】:2021-09-17 22:38:11
【问题描述】:
使用 NodaTime,我正在寻找解构 ZonedDateTime 以便将其保存到 SQL 数据库。在我看来,有几个选择。我可以将其解构为Instant 和DateTimeZone,并将其另存为datetime2 和nvarchar(50)。我可以将其解构为DateTimeOffset 和DateTimeZone 或LocalDateTime 和DateTimeZone,并且在任何一种情况下,将其另存为datetimeoffset 和nvarchar(5)。
是否有区别,或者有理由选择一个而不是另一个?
我能想到的唯一想法是datetimeoffset 加上nvarchar(50) 可能会更好,以防数据库被没有像NodaTime 那样强大的时区-> 偏移转换系统的服务读取。在那种情况下,我至少已经用datetime2 加上nvarchar(50) 方法捕获了那个时区在那个时间点的偏移量,它丢失了(或者需要从历史时区信息中重新计算)。
还有其他我遗漏的注意事项吗?
【问题讨论】:
标签: nodatime