1 개요[ | ]
- Java Util.currentTimeNanos()
- 나노초 단위의 타임스탬프를 사용하기 위한 유틸 메소드 구현·사용
- System.currentTimeMillis()를 기본으로 하되, System.nanoTime()의 효과를 가미함
Java
Copy
private static class Util {
private final static long currentTimeNanosOffset = (System.currentTimeMillis() * 1000000) - System.nanoTime();
public static long currentTimeNanos() {
return System.nanoTime() + currentTimeNanosOffset;
}
}
Java
Copy
long nanos = Util.currentTimeNanos();
System.out.println(nanos);
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(nanos/1000000L));
// 1491972384307016608
// 2017-04-12 13:46:24.307
2 종합 예제[ | ]
Java
Copy
public class HelloApplication {
private static class Util {
private final static long currentTimeNanosOffset = (System.currentTimeMillis() * 1000000) - System.nanoTime();
public static long currentTimeNanos() {
return System.nanoTime() + currentTimeNanosOffset;
}
}
public static void main(String[] args) {
long millis = System.currentTimeMillis();
System.out.println(millis);
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(millis));
// 1491972769597
// 2017-04-12 13:52:49.597
long nanos = Util.currentTimeNanos();
System.out.println(nanos);
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(nanos/1000000L));
// 1491972769617027712
// 2017-04-12 13:52:49.617
}
}
3 같이 보기[ | ]
4 참고[ | ]
편집자 Jmnote Jmnote bot
로그인하시면 댓글을 쓸 수 있습니다.
- 분류 댓글:
- Java (3)
Java 튜토리얼 웹사이트 ― Thesmolt젠킨스 ― John Jeong젠킨스 ― Icesky