字符串未被识别为有效的DateTime。 2015年6月26日

时间:2015-06-26 14:15:31

标签: c# .net date datetime

我在这里尝试了几个Q& A并制作了这段代码: 我的想法是将dt1与dt2进行比较并稍后再做一些事情。

date = row.Cells[3].Value.ToString();
DateTime dt1 = DateTime.ParseExact(date, "M/d/yyyy", CultureInfo.InvariantCulture);
dt1 = dt1.AddDays(-4);
String dateStr = DateTime.Now.ToString("M/d/yyyy");
DateTime dt2 = DateTime.ParseExact(dateStr, "M/d/yyyy", CultureInfo.InvariantCulture);    

在最后一行,我遇到了这个例外:

  

字符串未被识别为有效的DateTime。

调试时这是值:
date = 06/05/2015
dt1 = "01-Jun-15 12:00:00 AM
datestr = 6-26-2015

1 个答案:

答案 0 :(得分:5)

如果datestr值为" 6-26-2015"您的格式不正确 你应该用这个:

DateTime dt2 = DateTime.ParseExact(dateStr, "M-d-yyyy", CultureInfo.InvariantCulture); 

ParseExact尝试将输入字符串与给定格式匹配。

在您的情况下,输入字符串为6-26-2015且格式为M/d/yyyy-/无法匹配,因此会抛出异常。