我的目标是使用 .NET DateTime 对象(在 C# 中),并以符合标准的方式将其序列化为字符串(用于 XML)并从中解析。我想到的特定标准是用于表示日期和时间的 ISO 8601 标准。
我想要一个易于使用的解决方案(最好是每个方法调用一个方法)
这将与格式的连接版本相互转换。我还想保留本地时区信息。
这是我想要获得的字符串类型的示例:
2009-04-15T10:55:03.0174-05:00
我的目标 .NET 版本是 3.5。
几年前,我实际上找到了解决此问题的方法,其中涉及自定义格式和 DateTime.ToString(string) 方法。我很惊讶不存在更简单的符合标准的解决方案。使用自定义格式字符串以符合标准的方式序列化和解析对我来说有点味道。
最佳答案
幸好还有XmlConvert.ToString()
和 XmlConvert.ToDateTime()
处理这种格式:
string s = XmlConvert.ToString(DateTime.Now,
XmlDateTimeSerializationMode.Local);
DateTime dt = XmlConvert.ToDateTime(s,
XmlDateTimeSerializationMode.Local);
(选择合适的序列化模式)
关于.net - 如何以符合标准的方式序列化 .NET 中的 DateTime 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/752446/