2016-05-04 5 views
-1

私は、現在の時刻が00(深夜)より大きいかどうかを調べるメソッドを持っています。 もし私が真実ならば私は電子メールを送信し、そうでなければ私はそれを送信しません。昨夜、私は送られてはならない40の電子メールを得ました。私は今、maxよりなかれ大きいことを取得し、第二に、私は今常にあることを取得する最初のケースで現在の時刻が真夜中を超えていないことを確認するにはどうすればよいですか?

TimeSpan max = new TimeSpan(24, 0, 0); 
TimeSpan now = DateTime.Now.TimeOfDay; 
if (now> max) 
    return false; 

return true; 

TimeSpan max = new TimeSpan(00, 0, 0); 
    TimeSpan now = DateTime.Now.TimeOfDay; 

    if (now > max) 
     return false; 

    return true; 

そして、この:

は、私は、これら二つの試みを試してみました最大以下

私は時間が私はfalseを返すようにしたい

7月24日 との間の他の場合であれば、私のメソッドはtrueを返すようにしたいです。

どうすればよいですか?

+0

は「真夜中の後に」全体のことを忘れますあなたが実際に必要としているものに修正してください:_ "時刻が07-24の間であればtrueを返す" _現在の時刻がその範囲にあるかどうかをチェックするだけです。 –

+0

"深夜よりも大きい"を定義できますか?何に対して? –

+4

あなたはモグワイを食べることを考えていますか? – Default

答えて

1

あなたは7と24時間の間にしたい場合は、単に日時ビット

参照の残りの部分を無視し、現在の時間を確認してください。https://dotnetfiddle.net/1LCvRP

public bool IsHourInRange() 
{ 
    var currentHour = DateTime.Now.Hour; 
    return currentHour >= 7; 
} 
+0

しかし...それはまだ正しいです。午前7時に、「.Hour」は7になります。午前12時15分に、時間はゼロになります。 – CaffGeek

+0

私は12:01に時間がゼロになると言うことを前提にしていますか? – ThunD3eR

+1

あなたは深夜1分後を意味しますか?はい – CaffGeek

関連する問題