본문 바로가기
개발/JAVA

[JAVA] System.currentTimeMillis()와 System.nanoTime()으로 시간 측정하기

by 로또 2023. 3. 29.

System.currentTimeMillis()

현재 시간과 UTC(협정세계시)인 1970년 1월 1일 자정과의 차이로 밀리세컨드(1/1000초) 값을 반환

날짜와 날짜 사이의 갭을 구할 때 사용

long curLong = System.currentTimeMillis();
System.out.println(curLong);

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss"); // HH 24시간  hh 12시간
String curTime = sdf.format(new Date(curLong));
System.out.println(curTime);

// 시간을 측정할 실행 코드
long endLong = System.currentTimeMillis();

// 밀리초 -> 초 변환
double seconds = (endLong - curLong)/1000;
System.out.println(seconds);

System.nanoTime()

10억 분의 1초

현재 시간과는 관계 없음

JVM이 시작 시간 - 종료 시간을 반환

개발한 프로그램의 실행 시간을 구할 때 (성능 측정) 사용

long startTime = System.nanoTime();

// 시간을 측정할 실행 코드

long endTime = System.nanoTime();

long runTime = endTime - startTime;

// 나노초 -> 초 변환
double seconds = (endTime - startTime) / 1000000000.0;
System.out.println(seconds);

댓글