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 |
---|