Java의 SimpleDateFormat 클래스는 원하는 날짜 형식을 나타내는 문자열(String)을 생성자 인자로 받아 인스턴스를 생성할 수 있습니다. 이 클래스를 활용하면 특정 형식으로 작성된 날짜 문자열을 Date 객체로 간편하게 파싱(변환)할 수 있습니다.
날짜 문자열을 Date 객체로 변환하는 절차는 다음과 같습니다.
- 원하는 날짜 형식 패턴을 담은 문자열을 생성자에 전달하여 SimpleDateFormat 객체를 생성합니다.
parse()메서드를 호출하여 날짜 문자열을 Date 객체로 변환합니다.
자주 사용되는 패턴 문자
- yyyy : 연도 (예: 2024)
- MM : 월 (01~12)
- dd : 일 (01~31)
- HH:mm:ss : 시, 분, 초
예제 코드
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Sample {
public static void main(String args[]) throws ParseException {
String date_string = "2007-25-06";
// SimpleDateFormat 클래스 인스턴스화
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-dd-MM");
// 주어진 문자열을 Date 객체로 파싱
Date date = formatter.parse(date_string);
System.out.println("Date value: "+date);
}
}실행 결과
Date value: Mon Jun 25 00:00:00 IST 2007
참고 사항
위 예제에서는 "yyyy-dd-MM" 패턴을 사용하여 '연도-일-월' 순서의 문자열을 해석했습니다. 패턴 문자의 순서와 구분 기호는 입력되는 날짜 문자열의 실제 형식과 정확히 일치해야 하며, 그렇지 않으면 ParseException이 발생합니다.
또한 Java 8 이상 환경에서는 스레드 안전성이 보장되고 더 직관적인 API를 제공하는 java.time 패키지의 LocalDate, DateTimeFormatter 클래스를 사용하는 것이 권장됩니다. 기존 코드와의 호환성이 필요한 경우에만 SimpleDateFormat을 사용하는 것이 좋습니다.