日付を比較する – before/equals/afterメソッド
public boolean after(Object when)
public boolean before(Object when)
public boolean equals(Object when)
when:比較するカレンダー
カレンダーの大小を比較するには、before/equals/afterメソッドを利用します。beforeメソッドは比較するカレンダーが現在のカレンダーよりも前である場合に、equalsメソッドは等しい場合に、afterメソッドは後である場合に、それぞれtrueを返します。
CalEquals.java
- package com.example.mynavi.calendar;
- import java.util.Calendar;
- public class CalEquals {
- public static void main(String[] args) {
- var cal = Calendar.getInstance();
- var cal2 = Calendar.getInstance();
- cal.set(Calendar.YEAR, 2025);
- cal2.set(Calendar.YEAR, 2020);
- System.out.println(cal.before(cal2)); // 結果:false
- System.out.println(cal.equals(cal2)); // 結果:false
- System.out.println(cal.after(cal2)); // 結果:true
- }
- }
カレンダーが同じであるとは、日付/時刻値が同じであるだけでなく、タイムゾーンやロケールなどのカレンダー設定も等しいことを意味します。これらが異なるカレンダーに対して、equalsメソッドはfalseを返します。
監修
山田祥寛(有限会社 WINGSプロジェクト)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NEC にてシステム企画業務に携わるが、2003年 4 月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト(https://wings.msn.to/)」の代表でもある。主な著書に『改訂 3 版JavaScript 本格入門』(技術評論社)、「独習シリーズ(C#・Python・PHP・Ruby・JSP&サーブレットなど)」(翔泳社)、「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravel など)」(Amazon Kindle)など。売り上げの累計は100万部を超える。