본문 바로가기
Java/Java

API) 날짜 형식을 지정해주는 SimpleDateFormat

by 박채니 2022. 3. 28.
SMALL

안녕하세요, 코린이의 코딩 학습기 채니 입니다.

 

개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다.


☞ SimpleDateFormat

- 날짜 형식을 지정해주는 Format 클래스

 

2022-03-28 11:36:00 (현재 날짜, 시각)으로 표현

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd E요일 a HH:mm:ss");
String formatStr = sdf.format(new Date());
System.out.println(formatStr);

@콘솔출력값
2022-03-28 월요일 오전 11:37:52

 

2022-03-31 21:50:00(미래 날짜, 시각)으로 표현

Calendar cal = new GregorianCalendar(2022, 3-1, 31, 21, 50);
Date date = new Date(cal.getTimeInMillis());
System.out.println(sdf.format(date));

@콘솔출력값
2022-03-31 목요일 오후 21:50:00

SimpleDateFormat의 format() 메소드는 Date객체만 받기 때문에 Calendar객체로 미래 시각 정보를 Date 객체로 넘겨주어 출력해주었습니다.

 

API 11 출처

해당 표를 가지고 원하는 정보, 포맷 형식으로 출력할 수 있겠죠?

 

다양한 포맷 형식

SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd (E) a hh:mm:ss");
String formatStr = sdf.format(new Date());
System.out.println(formatStr);
		
Calendar cal = new GregorianCalendar(2022, 10-1, 31, 21, 50);
Date date = new Date(cal.getTimeInMillis());
System.out.println(sdf.format(date));

@콘솔출력값
220328 (월) 오전 11:41:32
221031 (월) 오후 09:50:00

 

반대로 String 타입의 날짜 정보를 Date 타입의 정보로 출력하기

String data = "220328 (월) 오후 12:05:49";
Date date = new Date();
date = sdf.parse(data);
System.out.println(date);

@콘솔출력값
Mon Mar 28 12:05:49 KST 2022

parse()메소드는 예외를 던지기 때문에 예외처리를 해주거나 throws로 던져야 합니다.

LIST