Java を使用した日付範囲の包含の決定
Java では、日付が定義された範囲内にあるかどうかを確認するには、慎重な考慮が必要です。 Date.before() や Date.after() などのメソッドは基本的な日付比較を提供しますが、最も単純なアプローチではない可能性があります。
このタスクを簡略化するには、次の疑似コードを検討してください:
boolean isWithinRange(Date testDate) { return testDate >= startDate && testDate <= endDate; }
ただし、このアプローチではタイムスタンプを考慮していない可能性があることに注意することが重要です。データベースから取得した日付には、タイムスタンプが含まれることがよくあります。
解決策:
タイムスタンプを処理して正確な比較を保証するには、次のコードを使用できます:
boolean isWithinRange(Date testDate) { return !(testDate.before(startDate) || testDate.after(endDate)); }
このソリューションは、testDate が startDate と endDate の両方を含む指定された範囲内にある場合に true を返します。等価性が正しく処理されることを保証するために、条件演算子 (&&) の使用を回避します。
以上がJava で日付が範囲内にあるかどうかを効率的に確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。