java.text.SimpleDateFormat 클래스는 문자열을 날짜로, 날짜를 문자열로 형식화하고 구문 분석하는 데 사용됩니다.
- 이 클래스의 생성자 중 하나는 원하는 날짜 형식을 나타내는 String 값을 수락하고 SimpleDateFormat 개체를 만듭니다.
- 문자열을 Date 객체로 구문 분석/변환하려면 원하는 형식 문자열을 전달하여 이 클래스를 인스턴스화합니다.
- parse() 메서드를 사용하여 날짜 문자열을 구문 분석합니다.
- util.Date 클래스는 특정 순간 시간을 나타냅니다. 이 클래스는 두 날짜를 비교하기 위해 before(), after() 및 equals()와 같은 다양한 메서드를 제공합니다.
예
문자열에서 날짜 개체를 만들면 아래와 같이 이러한 방법 중 하나를 사용하여 비교할 수 있습니다. -
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Demo { public static void main(String args[])throws ParseException { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-dd-MM"); String dateStr1 = "2007-11-25"; String dateStr2 = "1999-9-12"; //Parsing the given String to Date object Date date1 = formatter.parse(dateStr1); Date date2 = formatter.parse(dateStr2); Boolean bool1 = date1.after(date2); Boolean bool2 = date1.before(date2); Boolean bool3 = date1.equals(date2); if(bool1){ System.out.println(dateStr1+" is after "+dateStr2); }else if(bool2){ System.out.println(dateStr1+" is before "+dateStr2); }else if(bool3){ System.out.println(dateStr1+" is equals to "+dateStr2); } } }
출력
2007-11-25 is after 1999-9-12
LocalDate 클래스의 Parse() 메소드
LocalDate 클래스의 parse() 메서드는 날짜를 나타내는 String 값을 받아 LocalDate 객체를 반환합니다.
예
import java.time.LocalDate; public class Test { public static void main(String args[]){ String dateStr1 = "2007-11-25"; String dateStr2 = "1999-9-12"; LocalDate date1 = LocalDate.parse(dateStr1); LocalDate date2 = LocalDate.parse(dateStr1); Boolean bool1 = date1.isAfter(date2); Boolean bool2 = date1.isBefore(date2); Boolean bool3 = date1.isEqual(date2); if(bool1){ System.out.println(dateStr1+" is after "+dateStr2); }else if(bool2){ System.out.println(dateStr1+" is before "+dateStr2); }else if(bool3){ System.out.println(dateStr1+" is equal to "+dateStr2); } } }
출력
2007-11-25 is equal to 1999-9-12