函數內部,我需要在幾秒鐘內找到兩個日期之間的差異。如果差值超過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