본문 바로가기
[개발] Programming/Java

자바 현재 날짜, 시간 구하고 형식 지정 (getInstance, Date, currentTimeMillis) 하는 방법

by eatyourKimchi 2019. 12. 29.

 

자바 현재 날짜, 시간 구하는 방법

 

 시스템 유지보수를 하다 보면 현재 시간을 구해야 되는 경우가 가끔 있습니다. 그런데 할 때마다 헷갈려서 이번에는 포스팅하여 기록해봤습니다ㅎㅎ 자바에서 날짜와 시간을 구하는 방법은 여러 가지가 있겠지만, 대표적으로 3가지를 소개하겠습니다.

 

Date(), currentTimeMillis(), getInstance()

 

 

위 세가지 방법 모두 동일한 기본 형식으로 현재 날짜와 시간을 리턴해 줍니다.

세 가지 타입 다 기본 날짜, 시간 형식으로 리턴되기 때문에 우리에게 맞는 형식으로 표시하기 위해서는 반드시 변환하는 과장이 추가되어야 합니다. 포맷은 'SimpleDateFormat'을 이용하면 간단하게 원하는 형식으로 지정할 수 있습니다.

 

 

 

SimpleDateFormat 으로 날짜 형식

 

년도는 yyyy 월은 MM 일은 dd, 시간은 HH 분은 mm 초는 ss

지정된 문자를 제외하고는 다른 문자나 기호를 붙여 원하는 형식으로 지정 가능.

 

SimpleDateFormat format1 = new SimpleDateFormat ( "yyyy-MM-dd HH:mm:ss");

SimpleDateFormat format2 = new SimpleDateFormat ( "yyyy년 MM월 dd일");

 

이제 아래 3가지 방법에 위 두개의 포멧을 활용하여 결과를 출력해봅니다.

 

 

 

Date()

 

Date now = new Date();

 

// 결과: 2020-01-01 10:51:49

System.out.println( format1.format(now) );

 

// 결과: 2020년 01월 01일 

System.out.println( format2.format(now) );

 

 

 

currentTimeMillis()

 

해당 메소드를 system 클래스에 포함되어 있어 별도로 선언할 건 없음.

 

// 결과: 2020-01-01 10:51:49

System.out.println( format1.format (System.currentTimeMillis()) );

 

// 결과: 2020년 01월 01일 

System.out.println( format2.format (System.currentTimeMillis() );

 

 

 

getInstance()

 

Calendar time = Calendar.getInstance();

 

// 결과: 2020-01-01 10:51:49

System.out.println( format1.format(time.getTime()) );

 

// 결과: 2020년 01월 01일 

System.out.println( format2.format(time.getTime()) );

 

 

 

세 방법 모두 결과는 동일하기 때문에 상황에 맞게 적합한 메소드를 쓰면 문제 없을 것입니다.

 

댓글