반응형

DB 저장 시 반드시 사용하는 날짜 데이터의

포맷을 변경해 보도록 하겠습니다.

 

날짜 데이터는 여러 가지 타입이 있지만

보통 포맷을 변경하기 위해 날짜 -> 텍스트로

변경하여 진행 하도록 하겠습니다.

 

일반적인 날짜 포맷

public class dateType{

	public static void main(String[] args) throws Exception {

		//날짜 포맷별 데이터 파싱
		String date_type1 = "2022-11-03";
		String date_type2 = "2022/11/03";
		String date_type3 = "2022년 11월 03일";
		
		SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-mm-dd");
		SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/mm/dd");
		SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy년 mm월 dd일");
		
		Date format1 = sdf1.parse(date_type1);
		Date format2 = sdf2.parse(date_type2);
		Date format3 = sdf3.parse(date_type3);
		
		System.out.println("타입1 : "+sdf1.format(format1));
		System.out.println("타입2 : "+sdf2.format(format2));
		System.out.println("타입3 : "+sdf3.format(format3));
			
	}
}

String 타입의 날짜를 SimpleDateFormat 데이터에 파싱 한 결과입니다.

 

주목할 점은 String 타입의 데이터가 SimpleDateFormat 타입과 맞아야

파싱이 된다는 점입니다.

 

포맷 즉, 포맷이 맞지 않으면 에러가 발생합니다.

 

포맷 변경 소스

위의 소스를 바탕으로 한번 포맷을 바꿔보겠습니다.

public class dateType{

	public static void main(String[] args) throws Exception {

		//현재날짜 포맷 변경
		Calendar c = Calendar.getInstance();
		Date dt = c.getTime();
		
		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd hh:mm:ss");
		System.out.println("현재날짜(시간) : "+ sdf.format(dt));
		
		//포맷 변경 1,2
		sdf.applyPattern("yyyy년 MM월 dd일 hh시 mm분 ss초");
		System.out.println("포맷1 : "+ sdf.format(dt));
		
		sdf.applyPattern("yyyy/MM/dd. (hh시 mm분 ss초)");
		System.out.println("포맷2 : "+ sdf.format(dt));
		
	}
}

Calendar를 이용하여 현재날짜를 얻고

Date에 할당합니다.

 

그리고 SimpleDateFormat에 파싱 하면 현재 날짜를 출력하였는데요.

 

그리고 SimpleDateFormat의 applyPattern을 이용하면 날짜의 패턴을 변경할 수 있습니다.

위의 소스에서는 applyPattern을 이용하여 포맷을 2가지로 변경하여 출력해 보았습니다.

반응형

+ Recent posts