C# 判斷一個string型的時間格式是否正確


  在項目開發過程中,由於各種坑爹的需求,我們可能需要用戶自己手動輸入時間,不過這種功能一般都出現在自己家的后台里面,咳咳,言歸正傳。既然如此,那么這個時候我們就需要對用戶手動輸入的時間格式進行驗證,方法如下:

//判斷一個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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM