无法识别DateTime.parse字符串

时间:2016-10-04 09:13:06

标签: c# date parsing datetime

我无法理解为什么我的字符串值不断为有效字符串抛出异常。我有一个格式为"30/09/2016 14:55:00"的字符串日期(名为myDate)并尝试了以下内容以使其成为日期时间格式:

DateTime.ParseExact(myDate, "dd/MM/yyyy HH:mm:ss", null);
DateTime.ParseExact(myDate, "dd/MM/yyyy HH:mm:ss", CultureInfo.CurrentCulture);
DateTime.Parse(myDate);

我无法看到我出错的地方,有没有我错过的东西?

编辑:

myDate的当前值

enter image description here

调用解析时保留上下文 enter image description here

例外 enter image description here

对于将字符串解析为DateTime

的所有其他版本也是如此

3 个答案:

答案 0 :(得分:1)

您的字符串中似乎有额外不需要的双引号。

试试这个,看它是否有效:

var date = DateTime.ParseExact(myDate.Trim('\"'), "dd/MM/yyyy HH:mm:ss", CultureInfo.CurrentCulture);

答案 1 :(得分:1)

您的字符串包含在调用DateTime.Parse之前应删除的其他引号。您可以通过调用

删除引号
myDate = myDate.Trim('"');
DateTime.ParseExact(myDate, "dd/MM/yyyy HH:mm:ss", null);

答案 2 :(得分:1)

问题是你的字符串有额外的",然后当你解析它时抛出异常。您的"30/09/2016 14:55:00"字符串实际上是\""30/09/2016 14:55:00\""

删除\",然后解析:

string myDate = "\"30/09/2016 14:55:00\"";
var result = DateTime.ParseExact(myDate.Replace("\"",""), "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);

或者因为它始终位于字符串的末尾,您可以使用.Trim方法