跟进我的上一个问题,我很好奇XmlSerializer
如何转换DateTime
。
我的XML文件中有一个字段如下:
<date>2011-01-10T00:00:00-05:00</date>
我想将其反序列化为DateTime
。
这是EST的外观。但是,当我查看结果时,我得到一个看起来像2011-01-09 21:00:00
的日期时间对象。这似乎转换为我当地时间(PST)。
谢谢!
修改
我无法控制服务器,也无法更改其格式。
答案 0 :(得分:-1)
DateTime
以当地时间显示值。从绝对时间读取时,它不支持保留时区。因此,您可以看到-05:00时区的ISO-8601格式值正确转换为您当地的时区。
序列化的唯一选项是UTC(Z时区)和本地,有关选择所需格式的方法,请参阅Force XmlSerializer to serialize DateTime as 'YYYY-MM-DD hh:mm:ss'。
如果您需要保留时区,请查看某些外部库(例如NodaTime)是否支持它。