2010年10月4日 星期一

使用DateTime.TryParse()驗證欄位值是否為日期格式

當我們在作資料欄位型態檢查時,遇上要檢查日期欄位的資料型態,總是會一時愣在那邊,心想是否要寫一大段判斷年月日等等是否符合規則的程式語法,期時不需要,我們可以利用TryParse()的方式,快速與簡單的判斷某個使用者輸入是否符合日期格式。假設我們要驗證名稱為txtDateStart的字串是否輸入值服何日期格式,如下範例程式:


   1:  public bool CheckDateTimeType(string txtDateStart) 
   2:  {
   3:      DateTime sd;//供判斷暫存之用
   4:      if (String.IsNullOrEmpty(txtDateStart) || 
   5:          !DateTime.TryParse(txtDateStart, out sd)))
   6:      {
   7:          return false;
   8:      }
   9:      return true;
  10:  }

當然,要注意這個TryParse是與Web Server當時的所設定的文化語系(culture)相關,如「2010/01/31」這個字串用在台灣作業系統(Operation System)環境與設的的zh-TW語系,則TryParse()會回應true,判斷是日期格式;但是「2010/01/31」用在en-US等語系中,TryParse()有可能會回應false。

沒有留言:

張貼留言