我在这里尝试了几个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
答案 0 :(得分:5)
如果datestr
值为" 6-26-2015"您的格式不正确
你应该用这个:
DateTime dt2 = DateTime.ParseExact(dateStr, "M-d-yyyy", CultureInfo.InvariantCulture);
ParseExact
尝试将输入字符串与给定格式匹配。
在您的情况下,输入字符串为6-26-2015
且格式为M/d/yyyy
,-
和/
无法匹配,因此会抛出异常。