Answers:
我始终使用ISO 8601格式(例如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
如果您手动组装XML字符串,请使用var.ToUniversalTime().ToString("yyyy-MM-dd'T'HH:mm:ss.fffffffZ"));
That将输出正式的XML日期时间格式。但是,如果您使用内置的序列化方法,则不必担心格式。
本XmlConvert
类提供这类设施。关于DateTime,尤其要注意过时的方法。另请参阅:https : //stackoverflow.com/a/7457718/1288109