.net - 如何以符合标准的方式序列化 .NET 中的 DateTime 对象

标签 .net datetime standards-compliance

我的目标是使用 .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/

相关文章:

c# - servicenow - __encoded_query - 一些字段没有被过滤

c# - 我们可以为 GridView 实现 Row Lost Focus 事件吗

MySQL:如何计算按day_hour分组的分钟行

python - 在 Python 中,如何将自纪元以来的秒数转换为 `datetime` 对象?

java - 兼容的 Java 实现可以不包含所有标准库吗?

standards - “dead code”和 “unreachable code”有什么区别?

.net - 执行集成测试时如何从 .Net 应用程序中隔离坏的 COM 组件 (HP Quality Center 10.0)

c# - Directory.CreateDirectory 并不总是创建文件夹

python - 在 Python 中测试时间敏感的应用程序

c - printf ("string1""string2") 这是有效的 C 语言吗?