'Java SimpleDateFormat'에 해당되는 글 1건




안녕하세요. 제임스입니다. 


계속해서 날짜 관련 코드 작성법에 대해 정리하고 있는데요. 오늘은 날짜를 원하는 형식으로 프린트 하는 방법에 대해 알아 보겠습니다. 

앞선 포스팅에서는 각각의 년, 월, 일, 시간 값들을 뽑아낸 후 아래와 같이 이쁘지 않은 형태로 프린트 했었습니다.


1
System.out.println(year+"."+month+"."+date+"("+korDayOfWeek+") "+hour+":"+minute+":"+second);
cs


이렇게 프린트 하기 위해 너무 많은 코드를 작성해야 합니다. 


그래서 자바에서는  SimpleDateFormat 이라는 무지무지 고마운 클래스를 제공하고 있습니다. 

지금부터 이 SimpleDateFormat 에 대해 알아 보겠습니다. 


■ SimpleDateFormat


참고: https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html


이 클래스는 날짜를 원하는 포맷으로 파싱시켜 주는 역할을 합니다.

이때 사용하는 패턴들이 있는데요. 그 패턴 중 우리가 사용할 몇가지만 정리해보겠습니다. 


Letter

Date or Time Component

Presentation

Examples

y

Year

199696

M

Month

JulyJul07

d

Number

10

H

시간(24시간)

Number

0

h

시간(am/pm)

Number

12

m

Number

30

s

Number

55


예제를 보겠습니다. 


1
2
3
4
5
SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
 
Calendar cal = Calendar.getInstance();
        
System.out.println(sdf.format(cal.getTime()));
cs


위와 같이 simpleDateFormat 생성자에 패턴을 입력 했습니다. 

format 함수를 이용하여 프린트 하면 원하는 패턴의 날짜형식이 리턴되게 됩니다. 


yyyy > 2018 과 같이 년도를 4자리로 표현하라는 의미 입니다. 

MM > 시간의 분을 나타내는 mm 과 구분해야 하는데요. 대문자 MM 으로 써야 월을 의미합니다. 

dd > 일을 의미 합니다 (해당 달의 몇번째 일인지를 의미)

HH > 시간 중 시를 의미 하며 HH 는 24시간으로 표기 hh 는 12시간 기준으로 am/pm 을 추가로 표기 가능합니다. 

mm > 시간의 분을 나타내는 것으로 월을 의미하는 MM 과 구분해야 합니다. 

ss > 초를 의미 합니다. 


년도를 의미하는 yyyy를 제외한 MM.dd HH:mm:ss 들이 두자리로 표기되어 있습니다 .

월/일 시:분:초 모두 최대 두자리로 표기 되기 때문인데요. 한자리일 경우 그냥 한자리로 표기 됩니다. 


위 코드를 실행한 결과 값은 다음과 같습니다. 

2018.01.06 01:35:44


yyyy 대신 yy 만 사용하게 되면 년도의 마지막 두자리만 표기 됩니다. 


1
2
3
4
5
SimpleDateFormat sdf = new SimpleDateFormat("yy.MM.dd HH:mm:ss");
 
Calendar cal = Calendar.getInstance();
        
System.out.println(sdf.format(cal.getTime()));
cs


결과 값은 다음과 같습니다. 

18.01.06 01:47:47



 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D




블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,