Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么我获取字符串未被识别为有效的日期时间错误?_C#_Datetime - Fatal编程技术网

C# 为什么我获取字符串未被识别为有效的日期时间错误?

C# 为什么我获取字符串未被识别为有效的日期时间错误?,c#,datetime,C#,Datetime,尝试解析s时出现异常 字符串未被识别为有效的日期时间 正如Sayse和Sriram Sakthivel所说,您需要传递字符串的格式 DateTime.ParseExact(s, "MM-dd-yyyy HH:mm:ss", CultureInfo.InvariantCulture); 有用链接: 要添加,文档包含以下关于DateTime.Parse的内容-使用当前线程区域性的格式约定,并基于DateTimeStyles.AllowHiteSpaces样式标记解释字符串。两次向上投票?这不管用。

尝试解析s时出现异常

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


正如Sayse和Sriram Sakthivel所说,您需要传递字符串的格式

DateTime.ParseExact(s, "MM-dd-yyyy HH:mm:ss", CultureInfo.InvariantCulture);
有用链接:


要添加,文档包含以下关于DateTime.Parse的内容-使用当前线程区域性的格式约定,并基于DateTimeStyles.AllowHiteSpaces样式标记解释字符串。两次向上投票?这不管用。它使用-来解析包含/@TimSchmelter的字符串谢谢,我修改了答案你应该解释一下为什么这样做。因为即使当前区域性使用不同的分隔符,例如-,不变量区域性也会强制将/as作为日期分隔符。否则,MM/dd/yyyy将转换为MM-dd-yyyy。为了防止.NET将特殊/字符视为自定义格式说明符,您必须使用上面提到的不变量文化或转义字符:MM\/dd\/yyyy HH:MM:ss@TimSchmelter,添加了文档链接这里是关于您的问题的最重要的问题;你目前的文化是什么?
DateTime myDate = DateTime.ParseExact("7/24/2014 14:46:47", 
  "MM/dd/yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
DateTime.ParseExact(s, "MM-dd-yyyy HH:mm:ss", CultureInfo.InvariantCulture);
System.Globalization.CultureInfo provider =
   System.Globalization.CultureInfo.InvariantCulture;
string dateTimeString = @"07/24/2014 14:46:47";
string dateTimeFormat = @"MM/dd/yyyy HH:mm:ss";
var dateTime = DateTime.ParseExact(dateTimeString, dateTimeFormat, provider);