Java 시간을 원하는 포맷으로 출력하기(SimpleDateFormat 사용법)

2017. 12. 30. 21:45프로그래밍/Java

반응형

 회사에서 열심히 자바로 개발을 하고 있습니다. 개발을 하다 보면 시간 표시를 꽤 여러 가지 포맷으로 하게 되는데요. 이럴 때 사용하게 되는 게 SimpleDateFormat입니다. 다만 저는 사용법이 헷갈리더라구요. 맨날 검색해서 사용하다가 잊어버리고, 또 검색하고. 그래서 기록도 하는 김에 정리를 해보았습니다. 일단 각 패턴 별로 표로 정리했습니다.

패턴 의미 출력
G 연대(BC, AD) AD
y 년도 2017
M 월(1~12) 12
w 해당 년도의 몇 번째 주(1~53) 52
W 해당 월의 몇 번째 주(1~5) 5
D 해당 연도의 몇 번째 일(1~366) 364
d 해당 월의 몇 번째 일(1~31) 30
F 해당 월의 몇 번째 요일(1~5) 5
E 요일(월~일) Sat
a 오전/오후(AM, PM) PM
H 시간(0~23) 21
h 시간(1~12) 9
K 시간(0~11) 9
k 시간(1~24) 21
m 분(0~59) 31
s 초(0~59) 8
S 1/1000초(0~999) 297
Z 타임존 +0900
z 타임존(RFC 822) KST

 그리고 아래는 실제로 사용하게 되는 예입니다. 제가 사용해봤던 포맷이나 사용할만한 포맷을 구현해봤습니다. 위 표에 있는 출력 부분도 테스트 하면서 나온 값을 그대로 적어보았습니다.

package me.theillusionist;
package me.theillusionist;

import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormatExample {
	
	public static void main(String[] args) {
		
		Date today = new Date();
		
		SimpleDateFormat format1, format2, format3, format4, format5, format6, format7;
		
		format1 = new SimpleDateFormat("yyyy-MM-dd");
		format3 = new SimpleDateFormat("yy/MM/dd");
		format2 = new SimpleDateFormat("yyyy년 MM월 dd일 E요일");
		format4 = new SimpleDateFormat("HH:mm:ss");
		format5 = new SimpleDateFormat("hh:mm:ss a");
		format6 = new SimpleDateFormat("오늘은 yyyy년의 w주차이며 D번째 날입니다.");
		format7 = new SimpleDateFormat("오늘은 M월의 w번째 주, d번째 날이며, F번째 E요일입니다.");

		System.out.println(format1.format(today));
		System.out.println(format2.format(today));
		System.out.println(format3.format(today));
		System.out.println(format4.format(today));
		System.out.println(format5.format(today));
		System.out.println(format6.format(today));
		System.out.println(format7.format(today));
		
	}
}
2017-12-30
2017년 12월 30일 Sat요일
17/12/30
21:53:47
09:53:47 PM
오늘은 2017년의 52주차이며 364번째 날입니다.
오늘은 12월의 52번째 주, 30번째 날이며, 5번째 Sat요일입니다.

 벌써 2017년도 다 지나가고 있네요. 올해 회고록을 쓸까 말까 고민하고 있는데, 가능하면 써볼 수 있도록 하겠습니다. 코딩 분야 뿐만 아니라 취미 등으로로 꽤 쓸 게 많을 것 같긴 한데, 얼마나 잘 쓸 수 있을지 모르겠네요. 내년에는 코딩쪽 글을 많이 쓸 수 있도록 해보겠습니다. 뭔가 코딩쪽 글을 부담이 좀 되더라구요. 잘 할 수 있겠죠? 오늘도 글 봐주셔서 감사합니다. 다음에 또 좋은 글 쓸 수 있도록 하겠습니다!

반응형

'프로그래밍 > Java' 카테고리의 다른 글

Java Swing 둥근 테두리 버튼 만들기  (0) 2018.01.01