在SQLServer2005数据库中存储ac#DateTimeOffset值我想在SQLServer2005数据库中存储aac#DateTimeOffset值。SQL2008将此作为内置类型,但SQLServer2005没有。DateTimeOffset结构具有DateTime值,我将其存储为DateTime,这是一个Offset属性(TimeSpan类型)。由于这是相对于UTC的时区,因此通常可能是整小时或半小时。关于如何最好地将其存储在SQLServer2005数据库中的任何建议?假设偏移量是一个小时或半小时不是一个好主意-周围肯定有四分之一小时的时区。使用毫秒作为偏移量可能是最灵活的,但我认为分钟更容易阅读。如果您正在查看数据库中的“原始”数据,则比3600000更容易理解值60=1小时。我无法想象您实际上需要几分钟的时间作为偏移量。将所有DateTimeOffsets规范化为一个共同的偏移量,最好是UTC。然后像往常一样存储DateTime。恢复获取时的偏移量,它应该是一个常量。这不会保留原始偏移量,但无论如何偏移量对于时区是不明确的。如果您真的需要知道日期/时间的来源,那么您需要存储一些时区信息。这是因为简单的偏移量不能明确表示时间的起源。请参阅有关在DateTime、DateTimeOffset和TimeZoneInfo之间进行选择的(有点令人困惑的)MSDN文档。将datetime存储为datetime,设置offset为毫秒(bigint)以上是C#学习教程:SQLServer2005数据库存储c#DateTimeOffset值共享的全部内容,如果对大家有用还需要详细了解C#学习教程,希望大家多多关注—本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
