Java

Java SimpleDateFormat 패턴 날짜 포맷

신비이 2024. 7. 17. 00:24
반응형

 

Java 개발을 하다 보면 Date, Calendar를 활용해서 날짜를 다루는 경우가 많습니다.

그렇지만 원하는 패턴이나 포맷으로 변경하기는 어려움이 있습니다.

그럴 때 활용할 수 있는 SimpleDateFormat을 알아보겠습니다.

 

기본예시

Date 활용

Date nowDate = new Date();
System.out.println(nowDate); // "Tue Jul 16 20:07:05 KST 2024"

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy년 MM월 dd일"); 
// 원하는 데이터 포맷 지정
String formatNowDate = simpleDateFormat.format(nowDate); 
// 지정한 포맷으로 변환 
System.out.println(formatNowDate); // "2024년 07월 16일"

 

Calendar 활용

Calendar calendar = Calendar.getInstance();

SimpleDateFormat simpleDateFormat = new SimpleDateFormat(); 

simpleDateFormat.applyPattern("yyyy년 MM월 dd일");

// 지정한 포맷으로 변환 
System.out.println(simpleDateFormat.format(calendar.getTime())); // "2024년 07월 16일"

 

활용예시

아래에 예시처럼 원하는 날짜포맷 작성하여 출력할 수 있습니다.

Date today = new Date();
		 
SimpleDateFormat format1;
SimpleDateFormat format2;
SimpleDateFormat format3;
SimpleDateFormat format4;
SimpleDateFormat format5;
SimpleDateFormat format6;
SimpleDateFormat format7;
SimpleDateFormat format8;
SimpleDateFormat format9;
SimpleDateFormat format10;

format1 = new SimpleDateFormat("yyyyMMdd");
format2 = new SimpleDateFormat("yyyy-MM-dd");
format3 = new SimpleDateFormat("yy년 MM월 dd일 E요일",Locale.KOREAN);
format4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
format5 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss a");
format6 = new SimpleDateFormat("오늘은 올 해의 D번째 날");
format7 = new SimpleDateFormat("오늘은 이 달의 d번째 날");
format8 = new SimpleDateFormat("오늘은 올 해의 w번째 주");
format9 = new SimpleDateFormat("오늘은 이 달의 W번째 주");
format10 = new SimpleDateFormat("오늘은 이 달의 F번째 E요일",Locale.KOREAN);

System.out.println(format1.format(today)); // "20240716"
System.out.println(format2.format(today)); // "2024-07-16"
System.out.println(format3.format(today)); // "24년 07월 16일 화요일"
System.out.println(format4.format(today)); // "2024-07-16 20:04:17.400"
System.out.println(format5.format(today)); // "2024-07-16 08:04:17 오후"
System.out.println(format6.format(today)); // "오늘은 올 해의 198번째 날"
System.out.println(format7.format(today)); // "오늘은 이 달의 16번째 날"
System.out.println(format8.format(today)); // "오늘은 올 해의 29번째 주"
System.out.println(format9.format(today)); // "오늘은 이 달의 3번째 주"
System.out.println(format10.format(today)); // "오늘은 이 달의 3번째 화요일"

 

패턴

기호 의미 보기
G 연대(BC, AD) AD
y 년도 2024
M 7
w 년의 몇번째주 33
W 월의 몇번째주 3
D 년의 몇번째일 100
d 월의 몇번째일 16
F 월의 몇번째요일 3
E 요일
a 오전/오후(AM/PM) AM
H 시간(0~23) 11
k 시간(1~24) 11
K 시간(0~11) 11
h 시간(1~12) 11
m 분(0~59) 33
s 초(0~59) 33
S 천분의 1초(0~999) 333
z Time zone(General time zone) GMT+9:00
Z Time zon(RFC 822 time zone) +0900
. escape 없음
반응형

'Java' 카테고리의 다른 글

Java Date 날짜시간 다루기  (0) 2024.07.18
Java split 문자열 자르기 분할  (0) 2024.07.16
Java substring 문자열 자르기  (0) 2024.07.15
Java는 무엇인가(특징 및 장단점)  (0) 2024.07.14