Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java SimpleDateFormat으로 날짜 문자열을 Date 객체로 변환하는 방법

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을 사용하는 것이 좋습니다.