我无法理解为什么我的字符串值不断为有效字符串抛出异常。我有一个格式为"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的当前值
对于将字符串解析为DateTime
的所有其他版本也是如此答案 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
方法