字符串未被识别为有效的DateTime,格式为" MM / dd / yyy hh:mm:ss tt"

时间:2017-10-30 17:58:14

标签: c# string date datetime

我尝试将字符串转换为C#中的DateTime,但我收到此错误:

  

System.FormatException:' String未被识别为有效的DateTime。'

错误出现在下一行:

DateTime endTime = DateTime.ParseExact(endDate, "MM/dd/yyyy hh:mm:ss tt", null);

我的endDate变量包含以下信息:" 10/03/2017 06:52:48 AM"

我做错了什么?

1 个答案:

答案 0 :(得分:9)

当您使用null作为IFormatProvider时,所有DateTime解析方法都会使用您计算机的CurrentCulture设置。

有几种可能性会让您感到异常。例如,您的CurrentCulture可能拥有AM AMDesignator属性。

而不是使用正确的文化,例如InvariantCulture

DateTime endTime = DateTime.ParseExact("10/03/2017 06:52:48 AM", 
                                       "MM/dd/yyyy hh:mm:ss tt", 
                                       CultureInfo.InvariantCulture);