函数内部,我需要在几秒钟内找到两个日期之间的差异。如果差值超过30秒,我回到假否则返回真,我第一个从数据库中读取它,第二个是当前DateTime.Now无法将字符串转换为DateTime?
这里是snippest的代码,我使用该做的工作,而dr.GetValue(0).ToString()
保存数据库中的当前值:string was not recognized as valid DateTime
和:
if (dr.Read())
{
DateTime nowDate = Convert.ToDateTime(DateTime.Now.ToString("M/dd/yyyy H:mm:ss tt"));
DateTime then = DateTime.ParseExact(dr.GetValue(0).ToString(), "M/dd/yyyy H:mm:ss tt", CultureInfo.InvariantCulture);
TimeSpan diff = nowDate - then;
int timeDifference = diff.Seconds;
if (timeDifference > 30)
{
myConn.Dispose();
return false;
}
else {
myConn.Dispose();
return true;
}
}
当我在上面,我得到一个消息,错误执行代码这里是导致该错误的行:
DateTime then = DateTime.ParseExact(dr.GetValue(0).ToString(), "M/dd/yyyy H:mm:ss tt", CultureInfo.InvariantCulture);
的时间被存储在数据库中的格式为:2013-02-18 14:06:37
但是,当我执行以下行(用于调试):
MessageBox.Show(dr.GetValue(0).ToString());
我看到一个消息框,显示在此格式的日期:2/18/2013 2:06:37 PM
如何找到CURR之间以秒之差耳鼻喉科时间和存储在dr.GetValue(0)的ToString(时间)
任何帮助将高度赞赏
你为什么使用'DateTimes'字符串?使用参数。 – 2013-02-18 14:35:50
你为什么要将'DateTime.Now'转换成一个字符串,然后转换回'DateTime'?你为什么不从数据库查询中返回一个'DateTime'? – 2013-02-18 14:36:15
不是你的数据库中的日期时间,好吧,日期时间? – baldric 2013-02-18 14:37:03