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