解析简单日期时间

DateTime dt = DateTime.ParseExact("1122010", "Mddyyyy", System.Globalization.CultureInfo.CurrentCulture); 

抛出此exception:String未被识别为有效的DateTime。

我确信本月缺少领先0。 什么是正确的格式字符串?

我建议使用格式“MMddyyyy”并确保您的输入参数至少有8个字符。 例:

 DateTime dt = DateTime.ParseExact("1122010".PadLeft(8, '0'), "MMddyyyy", System.Globalization.CultureInfo.CurrentCulture); 

如果您使用的是月份缺少前导0的数据源,则会在需要时添加它。

问题是你没有给ParseExact足够的信息来使用。

“M”表示1或2位数月份。 但是你的字符串以“1122”开头。 是1月12日还是11月22日?

正如安东尼所示,唯一的解决方案是在需要时用0填充。

单个“M”格式字符串是不可接受的,因为并非所有月份都可以用单个数字或字符唯一地表示。 如前所述,您必须使用“MMddyyyy”并在必要时填充左侧字符串。