본문 바로가기

시즌1/Java Tips

[Java Tips] 날짜 비교하는 법

이 팁은 Java에서 날짜 형식을 비교하는 방법을 보여 줍니다.

날짜 형식은 주로 Calendar나 Date를 이용하는데, 두 class모두, before, after, equals method를 이용하여 비교를 할 수 있습니다.


import java.util.*;
import java.util.*;
import java.text.*;

public class TestDate {
	public static void main(String args[]) {
		TestDate a = new TestDate();
	}

	TestDate() {

		String DATE_FORMAT = "yyyy-MM-dd";
		java.text.SimpleDateFormat sdf = 
			new java.text.SimpleDateFormat(DATE_FORMAT);
		
		// Calendar class를 이용하여 비교하는 경우
		Calendar c1 = Calendar.getInstance();
		Calendar c2 = Calendar.getInstance();
		c1.set(1999, 12, 31);
		c2.set(1999, 0, 30);
		
		System.out.print(sdf.format(c1.getTime()));

		if (c1.before(c2))
		{
			System.out.print(" is before ");
		}
		if (c1.after(c2))
		{
			System.out.print(" is after ");
		}
		if (c1.equals(c2))
		{
			System.out.print(" same as ");
		}
		System.out.println(sdf.format(c2.getTime()));
		
		Date date1 = c1.getTime();
		Date date2 = c2.getTime();
		
		System.out.print(sdf.format(date1.getTime()));
		// Date casss를 이용하여 비교하는 경우
		if (date1.before(date2))
		{
			System.out.print(" is before ");
		}
		if (date1.after(date2))
		{
			System.out.print(" is after ");
		}
		if (date1.equals(date2))
		{
			System.out.print(" same as ");
		}
		
		System.out.println(sdf.format(date2.getTime()));
		
	}
}


OUTPUT :
2000-01-31 is after 1999-01-30
2000-01-31 is after 1999-01-30