본문 바로가기
Java

[JAVA] Date(), System.currentTimeMillis()를 SimpleDateFormat사용하여 원하는 형태로 날짜 출력

by 쁘니쁘나 2020. 9. 15.

 

개발을 하다 보면 성능의 한 측면에서 시간이 얼마나 걸리는지 테스트를 정말 정말 많이 하게 되는데요😂

우선 현재시간을 아는것이 기본이겠죠? 

 

현재시간을 알 수있는 방법에는 아래와 같이 Calendar.getInstance().getTime(), new Date(), System.currentTimeMillis() 이렇게 3가지가 있어요.

 

import java.util.Calendar;
import java.util.Date;

public class SimpleDateFormat_Sample {

    public static void main(String[] args) {

        System.out.println(Calendar.getInstance().getTime());
        System.out.println(new Date());
        System.out.println(System.currentTimeMillis());


    }
}

 

위와 같이 작성하면 아래와 같이 현재시간을 알려주는 날짜가 나와요.

 

Tue Sep 15 20:37:35 KST 2020
Tue Sep 15 20:37:35 KST 2020
1600169855236

 

하지만 Calendar.getInstance().getTime()는 객체 생성뿐만 아니라 윤달도 포함하고 있어서 나머지 두 가지보다 현재시간을 빠르게 표현하는 성능면에서 떨어진다고 해요😮 (new Date() 또한 객체 생성을 하지만, System.currentTimeMillis()와 비교하였을때 거의 차이가 없어요)

 

그럼 나머지 두 가지 new Date(), System.currentTimeMillis()를 SimpleDateFormat이라는 것을 사용하여 우리가 좀 더 보기 편한 날짜 형식으로 바꿔서 출력해보도록해요!

 

import java.text.SimpleDateFormat;

public class SimpleDateFormat_Sample {

    public static void main(String[] args) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-MM-DD HH:mm:ss.SSS");
    }
}

 

위와 같이 SimpleDateFormat이라는 객체를 생성하여 파라미터 값으로 "YYYY-MM-DD HH:mm:ss.SSS"를 주면 나는 현재 시간을 2020-09-15 20:40:25.486 이렇게 밀리세컨드초까지 나타내어 주겠다 라는 뜻이에요!

그럼 이제 틀을 만들었으니 해당 틀에 현재 날짜를 넣어주어야겠죠?

 

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

public class SimpleDateFormat_Sample {

    public static void main(String[] args) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-MM-DD HH:mm:ss.SSS");

        System.out.println(simpleDateFormat.format(new Date()));
        System.out.println(simpleDateFormat.format(System.currentTimeMillis()));
    }
}

 

위와 같이 SimpleDateFormat 객체를 원하는 형식으로 만들고 생성된 simpleDateFormat 인스턴스에 .format() 이라는 메소드로 new Date()와 System.currentTimeMillis()를 넣어주면 아래와 같이 원하는 형식으로 나오는 거 보이시죠?

(0.001초 차이가 나는데 이건 실행 순서와도 연관이 있으니 같다고 보시면 돼요!)

 

2020-09-259 20:42:49.938
2020-09-259 20:42:49.939

 

 

곰곰 한돈 앞다리살 찌개용 (냉장), 500g, 1개분다버그 핑크 그래이프푸르트 탄산음료, 375ml, 10개농심 신라면컵 65g*18개, 18개프레시 채소믹스, 500g, 1개곰곰 무항생제 신선한 대란, 30구

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

 

 

댓글