2011-09-23 100 views
0

我有當用戶使用日曆,我檢查文本框是否爲空或不如何檢查日期時間進入

 if ((string.IsNullOrEmpty(txt_SendAt.Text) == false) 

如何檢查是否進入了日期時間進入日期時間的文本框小於或=當前日期時間

+0

你說 「使用日曆」 - 你到底是什麼意思?你有權訪問日曆控件嗎? –

回答

1
if ((string.IsNullOrEmpty(txt_SendAt.Text) == false 
      && DateTime.Parse(txt_SendAt.Text) <= DateTime.Now) 
+2

如果'txt_SendAt.Text'不是日期時間,將會引發異常。 – Oded

+0

@Oded OP說它來自日曆控件;我認爲它始終是一個有效的日期時間字符串。 –

+0

@Bala R:例如Infragistics WPF日曆控件允許輸入錯誤的日期時間值 – sll

0

使用的DateTime類的ParseTryParse靜態方法將字符串轉換爲DateTime並將其與當前日期時間之一。

DateTime input; 
if(DateTime.TryParse(txt_SendAt.Text, 
        CultureInfo.InvariantCulture, 
        DateTimeStyles.None, 
        out input)) 
{ 
    if(input <= DateTime.Now) 
    { 
    // your code here 
    } 
} 
else 
{ 
//not a valid DateTime string 
} 
0

ParseTryParse文本DateTime,然後比較DateTime.Now

1
DateTime enteredDateTime; 
if (!DateTime.TryParse(txt_SendAt.Text, out enteredDateTime)) 
{ 
    Debug.WriteLine("User entered date time in wrong format"); 
}else 
{ 
    if(enteredDateTime <= DateTime.Now) 
    { 
     // less or equal 
    } 
} 
0

幾個在這裏的步驟,首先檢查東西進入,因爲你做了,其次,檢查它實際上是一個日期,最後檢查期望的日期,因此:

var input = DateTextBox.Text; 
if (!string.IsNullOrEmpty(input)) 
{ 
    DateTime date; 
    if (DateTime.TryParse(input, out date)) 
    { 
     if (date <= DateTime.Now) 
     { 
      //bingo! 
     } 
    } 
} 

請注意TryParse用於檢查輸入字符串的正確格式作爲日期 - 僅使用Parse是讓您的應用程序運行的確定方法BANG!

0

可以使用DateTime.Parse方法解析你的字符串輸入到DateTime,然後運行在正常方式的比較。

請記住,如果輸入不能直接轉換爲所需的類型,則方法將拋出FormatException。例如,如果您有自由文本輸入,則可以選擇TryParse方法更有意義。

var inputDate = DateTime.Parse(txt_SendAt.Text); 
if (inputDate > DateTime.Now) 
{ 
    Console.WriteLine("DateTime entered is after now."); 
} 
else if (inputDate < DateTime.Now) 
{ 
    Console.WriteLine("DateTime entered is before now."); 
} 
0
if (!(string.IsNullOrEmpty(txt_SendAt.Text) && Datetime.Parse(txt_SendAt.Text)<=Datetime.Now) 
{ 
    /*code */ 
} 
else 
{ 
    /*code */ 
}