1. ホーム
  2. c#

[解決済み] C#でDateTimeがDateRangeの間にあるかどうかを確認する方法

2023-05-05 04:35:04

質問

ある日付がDateRangeの間にあるかどうかを知る必要があります。私は3つの日付を持っています。

// The date range
DateTime startDate;
DateTime endDate;

DateTime dateToCheck;

簡単な解決策は比較をすることですが、もっとスマートな方法はないでしょうか?

どのように解決するのですか?

いいえ、単純に比較するだけでよさそうです。

return dateToCheck >= startDate && dateToCheck < endDate;

考えるべきことですが。

  • DateTime はタイムゾーンの点でやや奇妙な型です。UTC かもしれないし、ローカルかもしれないし、あいまいかもしれません。いわば、リンゴとリンゴを比較していることを確認するのです。
  • 開始点と終了点が包括的であるか排他的であるかを検討します。上のコードでは、下限を包含的、上限を排他的に扱うようにしました。