为了账号安全,请及时绑定邮箱和手机立即绑定

反序列化用XmlElement注释的具有DataType时间的属性时

反序列化用XmlElement注释的具有DataType时间的属性时

C#
元芳怎么了 2021-05-11 17:18:09
当我使用来反序列化时间字符串时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
提交
取消
意见反馈 帮助中心 APP下载
官方微信