我在不同文化的计算机上使用DateTime。因此,我用ToString(CutureInfo.InvariantCulture)保存DateTime,它可以很容易地在所有其他区域性上读取。格式类似于'01/19/2012 21:00:00'。
但我也想添加TimeZone信息。是的,我可以指定如下格式
"MM/dd/yyyy hh:mm:ss+zzz". 但我的第一个想法是,有没有可能以某种方式将InvariantCulture与TimeZone结合起来?
任何帮助都将不胜感激!
发布于 2016-10-15 00:48:33
以下是一些事情:
DateTimeOffset类型,而不是DateTime类型。1/4/2016可以很容易地是1月4日或4月1日。不变的文化总是将其视为1月4日,因为它与美国更紧密地结合在一起。但是,如果其他人在美国以外的其他文化中阅读这个字符串,他们很容易将其混淆。"o"格式轻松实现此目的。CultureInfo.InvariantCulture) (“o”,DateTimeOffset.Now.ToString
发布于 2016-10-18 19:16:01
谢谢你的澄清。是的,我是说时区偏移。我还发现了新的DateTimeOffset类,它似乎可以很好地满足我的需求,但不确定它是否涵盖了我的所有问题。
我遇到的两个问题是-从字符串中解析日期,该字符串保存在固定区域性中,但假设为本地且没有时区偏移。将来我会写这个时区偏移,所以这个问题会消失-日期也保存在SQLite中,它不支持时区偏移,因此阅读后偏移消失了。我将检查数据库模型是否可以扩展以保存时区偏移量,或者以字符串格式存储日期。
在DateTimeOffset类中,我不理解的是,date属性是旧的DateTime类,它允许它使用该属性将给定日期的时间设置为午夜。这需要在很多地方更改我的代码。
https://stackoverflow.com/questions/40045701
复制相似问题