C#DateTime解析/转换此格式"20120314T130000"

sta*_*ith 10 .net c#

我使用的API以20120314T130000格式输出日期.

日期值是2012年3月14日13:00.如何将此格式的日期解析为C#中的.Net DateTime变量?

这个日期格式又称为什么?

por*_*ges 12

那是ISO 8601.' - '分隔符在这种格式中是可选的.

你不能使用普通的DateTime.Parse方法解析它,但你可以使用ParseExact:

DateTime.ParseExact(date, "yyyyMMdd'T'HHmmss", CultureInfo.InvariantCulture)
Run Code Online (Sandbox Code Playgroud)

如果你有混合日期,有些有分隔符而有些没有,你可能需要使用正则表达式来提取相关信息,然后构造DateTime对象.