2010-10-05 54 views
3

我的表包含兩個字段與值的日期,比較剛從DateTime的C#

StartTime     EndTime 
    3/6/2010 8:00:00 AM  3/6/2010 10:20:00 AM 

現在我有一個日期選擇器控制,其中用戶可以選擇一個日期,

C# Logic: 
DateTime SelDate; 
      if (datePicker.SelectedDate == null) 
       SelDate = DateTime.Now; 
      else 
       SelDate = datePicker.SelectedDate; 

我想比較日期由下面的代碼,但它給了我編譯時間錯誤,

foreach (DomainObject obj in res.ResultSet) 
        { 
         MyClass adef = (MyClass)obj; 
         DateTime sTime = (DateTime)adef.StartTime; 
         DateTime eTime = (DateTime)adef.EndTime; 

         if ((SelDate.ToShortDateString >= sTime.ToShortDateString) && (SelDate.ToShortDateString <= eTime.ToShortDateString)) 
         { 
          actdef.Add(new MyClassViewModel(adef)); 
         } 

        } 

我只想採取日期比較而不是時間部分。所以我使用了ToShortDateString方法。

回答

7

只需使用的DateTimeDate屬性:

​​

另外請注意,您可以使用DateTime.Today獲得今天的開始。

2

只需使用DateTime的Date屬性並進行直接比較即可。

DateTime SelDate = datePicker.SelectedDate == null ? DateTime.Now : datePicker.SelectedDate; 

if(SelDate.Date >= sTime.Date) 
{ 
    // do something here 
}