在.NET中将ISO 8601字符串解析为DateTime?
这个问题在这里已经有了答案:
string txt= "2009-10-08 08:22:02Z";
DateTime output = DateTime.ParseExact(txt, "u", System.Globalization.CultureInfo.InvariantCulture);
DateTime类支持这种格式的u的标准格式字符串
我认为对于ISO格式(使用T分隔符),请使用“s”而不是“u”。 或使用:
string txt= "2009-10-08 08:22:02Z";
DateTime output = DateTime.ParseExact(txt, new string[] {"s", "u"}, System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
以支持这两种格式。
不,它不是ISO 8601.有效的ISO 8601表示将在时间和日期部分之间具有T
DateTime
可以本地处理有效的ISO 8601格式。 但是,如果您坚持使用此特定表示法,则可以尝试使用DateTime.ParseExact
并提供格式字符串。