当我使用来反序列化时间字符串时XmlSerializer.Deserialize,我希望它考虑到我当地的时区,以便采用以下格式的时间字符串00:00:00.0000000+01:00被解析为00:00,因为我所在的时区为GMT + 1。我说错了吗?这是我正在测试xml反序列化的代码:using System;using System.IO;using System.Xml.Serialization;using Microsoft.VisualStudio.TestTools.UnitTesting;namespace Testing{ [TestClass] public class FooTest { [TestMethod] public void Test() { var serializer = new XmlSerializer(typeof(Foo), new XmlRootAttribute("Foo")); var xml = "<Foo><TheTime>00:00:00.0000000+01:00</TheTime></Foo>"; var stream = new MemoryStream(); var writer = new StreamWriter(stream); writer.Write(xml); writer.Flush(); stream.Position = 0; var f = (Foo) serializer.Deserialize(stream); Assert.AreEqual("00:00", f.TheTime.ToShortTimeString()); // actual: 01:00 } [Serializable] public class Foo { [XmlElement(DataType = "time")] public DateTime TheTime { get; set; } } }}
1 回答
- 1 回答
- 0 关注
- 308 浏览
添加回答
举报
0/150
提交
取消