C# 字符串未被识别为格式为“的有效日期时间”;年月日hh:MM:ss tt“;
我试图将字符串转换为C#中的日期时间,但出现以下错误: System.FormatException:'字符串未被识别为有效的日期时间。' 错误在下一行:C# 字符串未被识别为格式为“的有效日期时间”;年月日hh:MM:ss tt“;,c#,string,date,datetime,C#,String,Date,Datetime,我试图将字符串转换为C#中的日期时间,但出现以下错误: System.FormatException:'字符串未被识别为有效的日期时间。' 错误在下一行: DateTime endTime = DateTime.ParseExact(endDate, "MM/dd/yyyy hh:mm:ss tt", null); MyendDate变量包含以下信息:“10/03/2017 06:52:48 AM” 我做错了什么?当您使用null作为IFormatProvider时,所有DateTime解析方
DateTime endTime = DateTime.ParseExact(endDate, "MM/dd/yyyy hh:mm:ss tt", null);
MyendDate
变量包含以下信息:“10/03/2017 06:52:48 AM”
我做错了什么?当您使用
null
作为IFormatProvider
时,所有DateTime
解析方法都使用您计算机的设置
有几种可能会出现例外情况。例如,您的CurrentCulture
可能没有AM
作为其属性
与此相反,使用适当的文化,如
这不会给我任何错误:
DateTime.ParseExact(“10/03/2017 06:52:48 AM”,“MM/dd/yyyy hh:MM:ss tt”,null)你确定输入的字符串和你说的一模一样吗?你好@RufusL,谢谢你尝试,是的,我确定,我用断点复制了字符串。对不起@Servy。我将停止编辑并让您修复它。:)@BJMyers不用担心,现在就应该处理好。或者在要转换的日期字符串中输入本地等效的AM/PM,您可以在这里找到,非常感谢@Soner Gönül!!这解决了我的问题
DateTime endTime = DateTime.ParseExact("10/03/2017 06:52:48 AM",
"MM/dd/yyyy hh:mm:ss tt",
CultureInfo.InvariantCulture);