1. ホーム
  2. java

[解決済み] Javaで日付が2つの日付の間にあるかどうかを判断するにはどうすればよいですか?重複

2022-10-20 18:24:39

質問

のインスタンスで表現されている場合、ある日付が他の2つの日付の間にあるかどうかを調べるにはどうしたらよいでしょうか? java.util.Date ?

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

最小値/最大値の順序がわからない場合

Date a, b;   // assume these are set to something
Date d;      // the date in question

return a.compareTo(d) * d.compareTo(b) > 0;

範囲に含まれるようにしたい場合

return a.compareTo(d) * d.compareTo(b) >= 0;

を処理することができます。 null を制約のないものとして扱うことができます。

if (a == null) {
    return b == null || d.compareTo(b) < 0;
} else if (b == null) {
    return a.compareTo(d) < 0;
} else {
    return a.compareTo(d) * d.compareTo(b) > 0;
}