2011-08-14 4 views
2

私は、日付と時間+ 2時間に基づいてXMLリストを表示しようとしています。DateTime.Now Duration + - 2 Hours?

私は現在、この方法で使用しています:

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

ヤヒアの答えは、だけで結構です。同じ結果が得られます。コードは次のように読み取られます。「現在と2時間以内の他の日時の違いは?」 Yahiaは「2時間前、2時間前の日時ですか?」と読むことができます。 –

答えて

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

天才、ちょうど私が何をしていたのか、唯一の問題は、UTCnowが何らかの理由で昨日からのリストを表示するため、Hour.UtcNowとDateの時間をDate.Nowにする必要があるということです。 – Rhys

+0

あなたは何を意味するのかわかりません。おそらく、あなたは 'DateTime.UtcNow'の代わりに' DateTime.Now'を使うべきでしょうか? – Yahia

+0

私はそれを試みましたが、私がDateTime.Nowを使用すると、それは私に12時間を与えます。例えば、5時から5時に表示された一覧は – Rhys

関連する問題