Java 日付を比較するサンプル(LocalDate)

Javaの日付を比較するサンプルです。

目次

サンプル LocalDateクラスで比較する
  Dateクラスで比較する

LocalDateクラスのメソッドで比較する

LocalDateクラスのメソッドで比較するサンプルです。

package test1;
import java.time.LocalDate;

public class Test1 {
	public static void main(String[] args) {

		LocalDate date1 = LocalDate.of(2020, 7,13);
		LocalDate date2 = LocalDate.of(2020, 11,9);
		System.out.println(date1); // 2020-07-13
		System.out.println(date2); // 2020-11-09
		
		if (date1.isBefore(date2)){
			System.out.println("a"); //出力される 
		}
		if (date2.isAfter(date1)){
			System.out.println("b"); //出力される 
		}
		
		if (date1.isEqual(date1)){
			System.out.println("c"); //出力される 
		}
 	}
}

12行目は、isBeforeメソッドです。date1は、date2より前の場合trueを返します。
15行目は、isAfterメソッドは、date2は、date1より後の場合trueを返します。
19行目のisEqualメソッドは、同じ日付の場合はtrueを返します。

LocalDateクラス

public boolean isBefore(ChronoLocalDate other)
public boolean isAfter(ChronoLocalDate other)
public boolean isEqual(ChronoLocalDate other)

Dateクラスで比較する

Dateクラスで比較する

package test1;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;

public class Test1 {
	public static void main(String[] args) {

		// 取り扱う日付の形にフォーマット設定
		SimpleDateFormat s1 = new SimpleDateFormat("yyyy/MM/dd");
		Date date1 = null;
		Date date2 = null;
		try {
			date1 = s1.parse("2020/07/13");
			date2 = s1.parse("2020/11/09");
		} catch (ParseException e) {
			e.printStackTrace();
		}
		System.out.println(date1); // Mon Jul 13 00:00:00 JST 2020
		System.out.println(date2); // Mon Nov 09 00:00:00 JST 2020

		if (date1.before(date2)){
			System.out.println("a"); //出力される 
		}
		if (date2.after(date1)){
			System.out.println("b"); //出力される 
		}

		if (date1.compareTo(date1) == 0) {
			System.out.println("c"); //出力される
		}
		System.out.println(date1.compareTo(date2)); // -1
		System.out.println(date2.compareTo(date1)); // 1
 	}
}

25行目は、beforeメソッドです。date1は、date2より前の場合trueを返します。
28行目は、afterメソッドです。date2は、date1より後の場合trueを返します。
32行目は、compareToメソッドです。同じ日付の場合0を返します。
35,36行目は、compareToメソッドで日付を比較しています。
左側が前の場合はマイナスの値で、右側が前の場合はプラスの値になります。

Dateクラス

public boolean before(Date when)
public boolean after(Date when)
public int compareTo(Date anotherDate)

関連の記事

Java 現在日時の取得と表示形式のサンプル

△上に戻る