我尝试将字符串转换为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"
我做错了什么?
答案 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);