解析简单日期时间
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”并在必要时填充左侧字符串。