2011-08-14 56 views
2

我正在嘗試基於Date和Hour + - 2小時顯示XML列表。DateTime.Now持續時間+ - 2小時?

我目前使用這種方法:

bool MyDateCheckingMethod(string dateString) 
     { 



      DateTime otherDate = DateTime.ParseExact(dateString, "yyyyMMddHHmmss K", null); 
      // Is this today (Checking Date and Hour) 
      return otherDate.Hour == DateTime.UtcNow.Hour && 
      otherDate.Date == DateTime.UtcNow.Date ; 



     } 

但我想改變這2個小時當前小時內選擇從我的XML目錄。

我已經嘗試了以下變體,但對DateTime不夠了解,無法在此網站上找到任何相關問題,MSDN中的DateTime也沒有任何相關示例或信息。

bool MyDateCheckingMethod(string dateString) 
     { 


      DateTime now = DateTime.UtcNow; 

      DateTime otherDate = DateTime.ParseExact(dateString, "yyyyMMddHHmmss K", null); 
      // Is this today (Checking Date and Hour) 
      return otherDate.Hour == DateTime.UtcNow.Hour && 
      otherDate.Date == DateTime.UtcNow.Date ; 
      (otherDate - now).Duration <= TimeSpan.FromHours(2); 



     } 
+0

葉海亞的答案是蠻好的,壽你也可以簡單地返回您所提供的代碼的最後一行的結果。它會給出相同的結果。然後可以讀取代碼:「現在和其他日期 - 時間差兩小時還是更短?」而Yahia的可以被讀取「是比兩小時前更新的日期,還是現在兩個小時之前?」 –

回答

4

使用本

bool MyDateCheckingMethod(string dateString) 
{ 
DateTime now = DateTime.UtcNow; 
DateTime otherDate = DateTime.ParseExact(dateString, "yyyyMMddHHmmss K", null); 

return (now.AddHours (-2) <= otherDate && otherDate <= now.AddHours (2)); 
} 
+0

天才,只是我以後,唯一的問題是,我需要在Hour.UtcNow小時,日期是Date.Now,因爲UTCnow顯示從昨天出於某種原因的清單。 – Rhys

+0

不確定你的意思...也許你應該使用'DateTime.Now'而不是'DateTime.UtcNow'? – Yahia

+0

我試過了,但如果我使用DateTime.Now,它會給我-12小時。例如下午5點,這裏列表顯示從上午5點 – Rhys