C# 奇怪的异常:字符串未被识别为有效的DateTime

C# 奇怪的异常:字符串未被识别为有效的DateTime,c#,datetime,C#,Datetime,我收到此异常:消息= “字符串未被识别为有效的日期时间。” 这是我的代码: DateTime dateTime = DateTime.ParseExact(timeValue, "dd-MM-yyyy HH:mm:ss.fff", null); 奇怪的是我通过了调试器,例如当timeValue=“01-02-2015 10:00:00.000”时,一切都正常。 如果timeValue=“02-02-2015 10:00:00.000”我得到这个异常。我很困惑问题是日期和时间部分之间有多个空格,

我收到此异常:消息=

“字符串未被识别为有效的日期时间。”

这是我的代码:

DateTime dateTime = DateTime.ParseExact(timeValue, "dd-MM-yyyy HH:mm:ss.fff", null);
奇怪的是我通过了调试器,例如当
timeValue=“01-02-2015 10:00:00.000”
时,一切都正常。
如果
timeValue=“02-02-2015 10:00:00.000”
我得到这个异常。我很困惑

问题是日期和时间部分之间有多个空格,请使用:

DateTime dateTime = DateTime.ParseExact("02-02-2015  10:00:00.000", 
                    "dd-MM-yyyy HH:mm:ss.fff", 
                    CultureInfo.InvariantCulture, 
                    DateTimeStyles.AllowInnerWhite);

问题是日期和时间部分之间有多个空格,请使用:

DateTime dateTime = DateTime.ParseExact("02-02-2015  10:00:00.000", 
                    "dd-MM-yyyy HH:mm:ss.fff", 
                    CultureInfo.InvariantCulture, 
                    DateTimeStyles.AllowInnerWhite);

pass
CultureInfo.InvariantCulture
而不是
null
null
将采用当前区域性,并且您可能会由于日期时间分隔符而遇到异常。pass
CultureInfo.InvariantCulture
而不是
null
null
将假定当前区域性,并且由于日期-时间分隔符,您可能会遇到异常。