解析日期时间字符串返回不正确

时间:2015-09-22 13:17:25

标签: c# xml datetime

我有一个天蓝色的Web服务,可以向许多客户提供XML文件。

用户将XML文件发送到Web服务,它将XML反序列化为Object,然后将其序列化为客户所需的XML格式。

我遇到了一个奇怪的情况,XML文件中有两种不同的DateTime格式被发送到Web服务,在这种情况下,XML文件中输出的DateTimes是不正确的。但是,如果我在两个单独的文件中提供两个DateTimes,则两者都正确解析。

以下是两个DateTimes:

  

日期= “2015-09-23T14:30:00 + 01:00”

     

日期= “2015-09-23T14:30:00”

当在一个文件中解析一个或另一个时,它们都解析为14:30这是正确的,但是当两种格式都在文件中时,第二个DateTime解析为15:30和第一个14:30。

我尝试过分配CultureInfo,设置为当地时间。

我使用XmlSerializer ClassXmlSerializer.Deserialize Method将发送到Web服务的XML文件读取到我创建的对象。

然后我有一个简单的映射器,它将值写入XML并更改一些属性和节点名称。将DateTime写入字符串的代码是:

xmlWriter.WriteAttributeString("startdatetime", dateTime.ToString("s"))

真正让我感到震惊的是,当它们位于不同的文件中时,这一切都有效,但当它位于具有两个独立DateTime格式的文件中时,它们都无效。

0 个答案:

没有答案