"자바 Util.currentTimeNanos()"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-</source> +</syntaxhighlight>, -<source +<syntaxhighlight ))
 
(사용자 2명의 중간 판 5개는 보이지 않습니다)
2번째 줄: 2번째 줄:
;Java Util.currentTimeNanos()
;Java Util.currentTimeNanos()
* 나노초 단위의 타임스탬프를 사용하기 위한 유틸 메소드 구현·사용
* 나노초 단위의 타임스탬프를 사용하기 위한 유틸 메소드 구현·사용
* [[Java System.currentTimeMillis()|System.currentTimeMillis()]]를 기본으로 하되, [[Java System.nanoTime()|System.nanoTime()]]의 효과를 가미함
* [[자바 System.currentTimeMillis()|System.currentTimeMillis()]]를 기본으로 하되, [[자바 System.nanoTime()|System.nanoTime()]]의 효과를 가미함


<source lang='java'>
<syntaxhighlight lang='java'>
private static class Util {
private static class Util {
private final static long currentTimeNanosOffset = (System.currentTimeMillis() * 1000000) - System.nanoTime();
private final static long currentTimeNanosOffset = (System.currentTimeMillis() * 1000000) - System.nanoTime();
11번째 줄: 11번째 줄:
}
}
}
}
</source>
</syntaxhighlight>
<source lang='java'>
<syntaxhighlight lang='java'>
long nanos = Util.currentTimeNanos();
long nanos = Util.currentTimeNanos();
System.out.println(nanos);
System.out.println(nanos);
18번째 줄: 18번째 줄:
// 1491972384307016608
// 1491972384307016608
// 2017-04-12 13:46:24.307
// 2017-04-12 13:46:24.307
</source>
</syntaxhighlight>


==종합 예제==
==종합 예제==
<source lang='java'>
<syntaxhighlight lang='java'>
public class HelloApplication {
public class HelloApplication {
private static class Util {
private static class Util {
44번째 줄: 44번째 줄:
}
}
}
}
</source>
</syntaxhighlight>


==같이 보기==
==같이 보기==
* [[Java System.currentTimeMillis()]]
* [[자바 System.currentTimeMillis()]]
* [[Java System.nanoTime()]]
* [[자바 System.nanoTime()]]
* [[자바 Util.uniqid()]]
* [[타임스탬프]]
* [[타임스탬프]]


==참고 자료==
==참고==
* https://gist.github.com/hoffrocket/3238310
* https://gist.github.com/hoffrocket/3238310


[[분류: Java]]
[[분류: Java]]

2020년 11월 2일 (월) 02:49 기준 최신판

1 개요[ | ]

Java Util.currentTimeNanos()
private static class Util {
	private final static long currentTimeNanosOffset = (System.currentTimeMillis() * 1000000) - System.nanoTime();
	public static long currentTimeNanos() {
		return System.nanoTime() + currentTimeNanosOffset;
	}
}
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 종합 예제[ | ]

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 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}