使用.NET写入XML文件时,我使用什么格式的日期/时间?我只使用DateTime.ToString()
,还是必须使用特定的格式?XML文件中用于日期/时间的正确格式
回答
我总是使用ISO 8601格式(例如2008-10-31T15:07:38.6875000-05:00
) - date.ToString("o")
。它也是XSD date format。这是首选的格式和Standard Date and Time Format string,但如有必要,可以使用手动格式字符串,如果你不想要的日期和时间之间的“T”:date.ToString("yyyy-MM-dd HH:mm:ss");
编辑:如果您使用的是从生成的类一个XSD或Web服务,您可以直接将DateTime实例分配给类属性。如果您正在编写XML文本,请使用上述内容。
DTD有什么要说的?
如果XML文件用于与其他现有软件(例如SOAP)通信,请检查该软件是否符合要求。
如果XML文件用于序列化或与不存在的软件(例如,您正在编写的软件)进行通信,则可以对其进行定义。在这种情况下,我会建议一些易于解析的选择语言,并易于阅读。例如,如果您的语言(无论是VB.NET还是C#.NET或其他)可以轻松解析ISO日期(YYYY-MM-DD),那就是我所建议的。
编辑:这是不好的建议。如上所述使用“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"));
这将输出官方的XML Date Time格式。但是如果使用内置的序列化方法,则不必担心格式。
XmlConvert
班提供这些设施。 关于DateTimes,特别要小心过时的方法。 另请参阅:https://stackoverflow.com/a/7457718/1288109
- 1. 日期时间格式不正确?
- 2. 使用正确的日期/时间格式化日期
- 3. 生成XML的日期时间格式
- 4. 正确的日期格式
- 5. 查看日志文件内容时正确的XML格式化
- 6. 正确的PHP日期/时间模式
- 7. 在c中没有得到正确的日期时间格式#
- 8. AngularJS日期格式正确
- 9. VBA:正确的日期格式使用
- 10. 以正确的格式从SQL查询获取日期时间
- 11. Web服务的正确日期时间格式
- 12. 正确的日期时间格式在Oracle上
- 13. Matplotlib日期时间格式的日期
- 14. Python日期时间到XML模式时间戳格式
- 15. XML文字格式日期
- 16. Moment.js格式不正确,格林尼治标准时间日期和时间
- 17. 日期时间格式按照日期发送CSV文件
- 18. 确保正确的日期/时间
- 19. Ruby on Rails的转换日期和时间值格式正确的UTC时间
- 20. 在日期和时间在PHP的格式,时间是不正确的
- 21. 日期时间,增加了一天,得到正确格式
- 22. 日期格式化程序没有正确格式化日期
- 23. 格式化文本“00 +周日+日期”的日期,时间
- 24. 在SQL服务器日期时间字段中格式化日期时间的正确方法是什么
- 25. 的Rails 3日期时间和时间beginning_of_day end_of_day格式不正确
- 26. MySQL - 在正确的日期时间格式中使用'WHERE Column LIKE'
- 27. Solrnet日期时间格式
- 28. 日期时间格式2008
- 29. 日期时间格式化
- 30. 日期和时间格式
请记住,这会将日期转换为UTC。处理日期时,必须根据区域设置将其转换回当前时区(除非您正在处理UTC中的所有内容)。另外,通常您会在末尾放置'Z'来表示日期是UTC。 – Ryan 2008-10-31 20:32:11
“s”在从soap ui调用.net Web服务时适用于我。 – 2014-05-15 11:42:33