在項目開發過程中,由於各種坑爹的需求,我們可能需要用戶自己手動輸入時間,不過這種功能一般都出現在自己家的后台里面,咳咳,言歸正傳。既然如此,那么這個時候我們就需要對用戶手動輸入的時間格式進行驗證,方法如下:
//判斷一個string型的時間格式是否正確 string inputTime = "2014年05月20日"; DateTime dateTime = new DateTime(); bool convertResult = DateTime.TryParse(inputTime, out dateTime);
如果轉換失敗,dateTime的值為'01,1,1',,插入到Sql Server數據庫中會報日期范圍的錯誤,所以還是自己做一下處理比較好。
if (!convertResult) { dateTime = new DateTime(1900, 1, 1);//轉換失敗,錯誤的時間格式,賦默認值. }
相信大家都能看出來,這個轉換的關鍵點就是 TryParse() 方法,TryParse() 還能用於將字符串轉換為 int 型,用法類似。
string intStr = "123"; int number = -1; bool intResult = int.TryParse(intStr, out number); intStr = "錯誤的數字,將轉換失敗"; intResult = int.TryParse(intStr, out number); //負數,能轉換 intStr = "-101"; intResult = int.TryParse(intStr, out number); //數字帶小數點,無法轉換 intStr = "1.758"; intResult = int.TryParse(intStr, out number);
注意:在實際使用時,當要轉換的字符串或數字帶有小數時,int.TryParse() 將不能轉換成功,結果為0。
