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

Java에서 문자열을 날짜(Date)로 변환하는 방법 – SimpleDateFormat 활용 가이드

Java 프로그래밍에서는 다양한 형식의 날짜 문자열을 Date 객체로 변환해야 하는 경우가 자주 발생합니다. 이럴 때 SimpleDateFormat 클래스를 사용하면 손쉽게 처리할 수 있습니다.

변환할 문자열 준비하기

먼저 다음과 같은 두 개의 날짜 문자열이 있다고 가정해 보겠습니다.

String date1 = "11/10/2018";
String date2 = "15-Mar-2019 21:11:35";

첫 번째 문자열은 일/월/연도 형식이며, 두 번째 문자열은 일-월이름-연도 시:분:초 형식입니다. 문자열을 정확하게 변환하려면 각 형식에 맞는 패턴을 반드시 지정해 주어야 합니다.

SimpleDateFormat으로 변환하기

SimpleDateFormat 객체를 생성할 때 문자열의 실제 형식에 해당하는 패턴을 지정하고, parse() 메서드를 호출하면 문자열이 Date 객체로 변환됩니다.

SimpleDateFormat dateFormat1 = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat dateFormat2 = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
Date formattedDate1 = dateFormat1.parse(date1);
Date formattedDate2 = dateFormat2.parse(date2);

주요 패턴 문자의 의미

  • dd : 일(날짜), 2자리 표현
  • MM : 월, 2자리 숫자 표현
  • MMM : 월 이름 약어 (예: Mar)
  • yyyy : 연도, 4자리 표현
  • HH:mm:ss : 시:분:초 (24시간제)

전체 예제 코드

다음은 Java에서 문자열을 날짜로 변환하는 전체 프로그램입니다.

import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo {
   public static void main(String[] args)throws Exception {
      String date1 ="11/10/2018";
      String date2 = "15-Mar-2019 21:11:35";
      SimpleDateFormat dateFormat1 = new SimpleDateFormat("dd/MM/yyyy");
      SimpleDateFormat dateFormat2 = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
      Date formattedDate1 = dateFormat1.parse(date1);
      Date formattedDate2 = dateFormat2.parse(date2);
      System.out.println(formattedDate1);
      System.out.println(formattedDate2);
   }
}

실행 결과

Thu Oct 11 00:00:00 UTC 2018
Fri Mar 15 21:11:35 UTC 2019

참고 사항

parse() 메서드는 지정된 패턴과 문자열 형식이 일치하지 않으면 ParseException을 발생시킵니다. 따라서 위 예제처럼 throws Exception으로 선언하거나 try-catch 블록으로 예외 처리를 해주어야 합니다. 또한 패턴이 실제 문자열 형식과 다르면 잘못된 날짜가 파싱되거나 오류가 발생할 수 있으므로, 패턴 지정에 특히 주의해야 합니다.