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