首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有TimeZone的DateTime InvariantCulture

带有TimeZone的DateTime InvariantCulture
EN

Stack Overflow用户
提问于 2016-10-14 22:31:17
回答 2查看 2.6K关注 0票数 1

我在不同文化的计算机上使用DateTime。因此,我用ToString(CutureInfo.InvariantCulture)保存DateTime,它可以很容易地在所有其他区域性上读取。格式类似于'01/19/2012 21:00:00'

但我也想添加TimeZone信息。是的,我可以指定如下格式

代码语言:javascript
复制
"MM/dd/yyyy hh:mm:ss+zzz". 

但我的第一个想法是,有没有可能以某种方式将InvariantCulture与TimeZone结合起来?

任何帮助都将不胜感激!

EN

回答 2

Stack Overflow用户

发布于 2016-10-15 00:48:33

以下是一些事情:

  • 时区和时区偏移是两码事。您正在询问有关偏移量的信息。有关这方面的更多信息,请参见the timezone tag wiki

  • 由于您关心时区偏移,因此应使用DateTimeOffset类型,而不是DateTime类型。

  • 使用不变区域性是很好的,但您也应该使用明确的格式,因为1/4/2016可以很容易地是1月4日或4月1日。不变的文化总是将其视为1月4日,因为它与美国更紧密地结合在一起。但是,如果其他人在美国以外的其他文化中阅读这个字符串,他们很容易将其混淆。

  • 您可能要使用的格式是带有偏移量的ISO8601扩展格式。这几乎与RFC3339the W3C's DateTime note中描述的格式相同。在C#中,您可以使用"o"格式轻松实现此目的。

CultureInfo.InvariantCulture) (“o”,DateTimeOffset.Now.ToString

票数 2
EN

Stack Overflow用户

发布于 2016-10-18 19:16:01

谢谢你的澄清。是的,我是说时区偏移。我还发现了新的DateTimeOffset类,它似乎可以很好地满足我的需求,但不确定它是否涵盖了我的所有问题。

我遇到的两个问题是-从字符串中解析日期,该字符串保存在固定区域性中,但假设为本地且没有时区偏移。将来我会写这个时区偏移,所以这个问题会消失-日期也保存在SQLite中,它不支持时区偏移,因此阅读后偏移消失了。我将检查数据库模型是否可以扩展以保存时区偏移量,或者以字符串格式存储日期。

在DateTimeOffset类中,我不理解的是,date属性是旧的DateTime类,它允许它使用该属性将给定日期的时间设置为午夜。这需要在很多地方更改我的代码。

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

https://stackoverflow.com/questions/40045701

复制
相关文章

相似问题

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