2011-05-20 197 views
14

似乎每個人都會忽略時間部分,但是如何比較兩個日期時間忽略日期?如果我們將它們作爲TIME進行比較,它似乎仍然支持最早的日期。如何比較兩個日期時間只忽略日期?

(12/02/2009 9:00)>(12/02/2011 8:24) - 這是對的。

下面的代碼工作,但它感覺有點分別比較小時和分鐘布什周圍。

var results = from x in dataContext.GetTable<ScheduleEntity>()       
       where x.LastRunDate < date.Date 
       && x.reportingTime.Hour <= date.Hour 
       && x.reportingTime.Minute <= date.Minute 
       && x.reportingFequency.Substring(position, 1) == scheduled 
       select x; 

同時,我們也這樣做的原因是因爲我們不能讓我們的SQL時間進行比較的時間跨度this說,這將是相同的,但LINQ返回一個「TIME爲bigint轉換錯誤」。

回答

31

DateTimeTimeOfDayProperty,你可以用這個時代比較兩個日期如下:

var one = DateTime.Now.AddHours(1); 
var two = DateTime.Now; 
var diff = one.TimeOfDay - two.TimeOfDay;