首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DateTimeOffset默认值

DateTimeOffset默认值
EN

Stack Overflow用户
提问于 2015-02-25 21:15:20
回答 1查看 13.5K关注 0票数 4

我希望将默认值设置为DateTimeOffset -它不应该是DateTime.Now,而应该是DateTime.MinValue或default(DateTime)

有什么想法吗?我该怎么做?这段代码:

代码语言:javascript
复制
DateTimeOffset d = new DateTimeOffset(DateTime.MinValue)

抛出异常

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-25 21:18:53

此代码为您抛出异常的原因是,您可能所在的时区早于UTC -因此当DateTime.MinValue (其KindUnspecified)被转换为UTC时,它将变得无效。文档中指定了转换:

如果DateTime.Kind的值为DateTimeKind.LocalDateTimeKind.Unspecified,则新实例的DateTime属性设置为dateTimeOffset属性设置为本地系统当前时区的偏移量。

不过,您可以只显式指定偏移量:

代码语言:javascript
复制
DateTimeOffset d = new DateTimeOffset(DateTime.MinValue, TimeSpan.Zero);

这不会导致任何转换...但我相信它完全等同于default(DateTimeOffset)。(请注意,这更明确--通常是一件好事。)

您可能还希望考虑使用DateTimeOffset?,并在缺少“真实”值时指定null,而不是只使用虚拟值。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28719980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档