Date와 Calendar만으로 날짜 데이터를 원하는 형태로 다양하게 출력하는 것은 불편하므로 SimpleDateFormat을 사용한다.
DateFormat은 추상클래스로 SimpleDateFormat의 조상이다.
DateFormat은 추상클래스이므로 인스턴스를 생성하기 위해서는 getDateInstance( )와 같은 static메서드를 이용해야 한다.
getDateInstance( )에 의해 반환되는 것은 DateFormat을 상속받아 완전하게 구현한 SimpleDateFormat인스턴스이다.
예제1.
Date today = new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
// 오늘 날짜를 yyyy-MM-dd 형태로 변환하여 반환
String result = df.format(today);
예제2.
DateFormat df1 = new SimpleDateFormat("yyyy년MM월dd일");
DateFormat df2 = new SimpleDateFormat("yyyy/MM/dd");
try {
Date d = df1.parse("2023년12월01일");
// parse : 해당 문자열을 날짜 형태로 바꾸어준다
System.out.println(df2.format(d));
// 2023/12/01 출력
}catch(Exception e) { }
🔥 한줄평
날짜를 원하는 형태로 써야할 때가 많은데 유용하게 쓸 수 있을 것 같다.