在函数内部,我需要在 seconds 中找到 2 个日期之间的差异。如果差异超过 30 秒,我返回False否则返回True,第一个我从数据库中读取它,第二个是当前 DateTime.Now
这是我正在使用的代码片段,它可以dr.GetValue(0).ToString()
在数据库中保存当前值的同时完成工作:
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;
}
}
当我执行上面的代码时,我收到一条消息错误:
string was not recognized as valid DateTime
这是导致错误的行:
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
如何找到当前时间与存储在 dr.GetValue(0).ToString() 中的时间之间的秒差
任何帮助将不胜感激