最近使用ASP.NET+SQLite資料庫開發一個網站程式,結果在日期處理上出現了很頭痛的問題:
說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆疊追蹤資訊,以瞭解有關該錯誤以及代碼中導致錯誤的出處的詳細資料。
異常詳細資料: System.FormatException: 該字串未被識別為有效 DateTime。
解決方案:
在日期儲存到Sqlite資料庫時轉換一個類型,比如:string _now = System.DateTime.Now.ToString("s");
也就是說在.ToString()方法中加一個s,即可解決日期讀取錯誤的問題。
簡單程式碼範例:
string _indate = Request["indate"]; //輸入的日期如:2009-2-21
DateTime _inTime = Convert.ToDateTime(_indate);
//如下是儲存資料SQL語句
insert into 表(indate) values(‘“ + _inTime.ToString("s") + "'); //這裡轉換
因為iso 8601的描述:(http://msdn.microsoft.com/zh-cn/library/ms187819.aspx)
給出了字串樣本:
* 2004-05-23T14:25:10
* 2004-05-23T14:25:10.487
所以Sqlite儲存的日期要轉為iso 8601標準字串格式
使用 日期.ToString("s");這種方法轉換成 iso 8601標準字串格式了。
本文著作權歸學IT網(www.xueit.com)所有,任何單位與個人轉載必須保留此段聲明,且在文章頁面明顯位置給出原文串連,否則保留追究法律責任的權利。
最近使用ASP.NET+SQLite資料庫開發一個網站程式,結果在日期處理上出現了很頭痛的問題:
說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆疊追蹤資訊,以瞭解有關該錯誤以及代碼中導致錯誤的出處的詳細資料。
異常詳細資料: System.FormatException: 該字串未被識別為有效 DateTime。
解決方案:
在日期儲存到Sqlite資料庫時轉換一個類型,比如:string _now = System.DateTime.Now.ToString("s");
也就是說在.ToString()方法中加一個s,即可解決日期讀取錯誤的問題。
簡單程式碼範例:
string _indate = Request["indate"]; //輸入的日期如:2009-2-21
DateTime _inTime = Convert.ToDateTime(_indate);
//如下是儲存資料SQL語句
insert into 表(indate) values(‘“ + _inTime.ToString("s") + "'); //這裡轉換
因為iso 8601的描述:(http://msdn.microsoft.com/zh-cn/library/ms187819.aspx)
給出了字串樣本:
* 2004-05-23T14:25:10
* 2004-05-23T14:25:10.487
所以Sqlite儲存的日期要轉為iso 8601標準字串格式
使用 日期.ToString("s");這種方法轉換成 iso 8601標準字串格式了。
本文著作權歸學IT網(www.xueit.com)所有,任何單位與個人轉載必須保留此段聲明,且在文章頁面明顯位置給出原文串連,否則保留追究法律責任的權利。