在使用.NET写入XML文件时,我应该使用什么日期/时间格式? 我只需要使用 DateTime.ToString()
吗,还是必须使用特定的格式?
2008-10-31T15:07:38.6875000-05:00
)-- date.ToString("o")
。这也是XSD日期格式。这是首选格式和标准日期和时间格式字符串,尽管如果您不想在日期和时间之间使用'T',则可以使用手动格式字符串:date.ToString("yyyy-MM-dd HH:mm:ss");
编辑:如果您正在使用从XSD或Web服务生成的类,则可以直接将DateTime实例分配给类属性。如果您正在编写XML文本,则使用上述方法。编辑:这是错误的建议。请使用上述的“o”。使用“s”会产生错误的结果。
我总是使用这个:
dateTime.ToUniversalTime().ToString("s");
如果你的架构看起来像这样,那么这是正确的:
<xs:element name="startdate" type="xs:dateTime"/>
这将导致:
<startdate>2002-05-30T09:00:00</startdate>
您可以在此处获取更多信息:http://www.w3schools.com/xml/schema_dtypes_date.asp
var.ToUniversalTime().ToString("yyyy-MM-dd'T'HH:mm:ss.fffffffZ"));
这将输出官方的XML日期时间格式。但如果使用内置序列化方法,则无需担心格式。DTD有什么要说的?
如果XML文件是用于与其他现有软件(例如SOAP)通信,则应检查该软件以了解其期望值。
如果XML文件用于序列化或与不存在的软件(例如您正在编写的软件)通信,则可以定义它。在这种情况下,我建议选择易于解析您所选语言并且对人类易于阅读的格式。例如,如果您的语言(无论是VB.NET还是C#.NET等)可以轻松解析ISO日期(YYYY-MM-DD),那么我建议使用这种格式。
XmlConvert
类提供了这些功能。特别是在处理日期时间时,要注意过时的方法。另请参阅:https://dev59.com/IFPTa4cB1Zd3GeqPkpdv#7457718