나노초 정밀도를 가진 Instant
마이크로초 또는 나노초 정밀도로 타임스탬프를 가져옵니다.
코드 비교
✕ Java 8
// Millisecond precision only
long millis =
System.currentTimeMillis();
// 1708012345678
✓ Java 9+
// Microsecond/nanosecond precision Instant now = Instant.now(); // 2025-02-15T20:12:25.678901234Z long nanos = now.getNano();
이 코드에 문제가 있나요? 알려주세요.
모던 방식이 더 나은 이유
더 높은 정밀도
마이크로초/나노초 대 밀리초 타임스탬프.
타입 안전
Instant는 정밀도를 가지고 있습니다 — 모호한 long 타입 없음.
UTC 기반
Instant는 항상 UTC입니다 — 타임존 혼동이 없습니다.
이전 방식
밀리초
모던 방식
나노초
JDK 버전
9
난이도
중급
JDK 지원
나노초 정밀도를 가진 Instant
사용 가능
JDK 9 (2017년 9월) 이후 널리 사용 가능
동작 원리
Java 9에서 클록 해상도가 개선되어 Instant.now()가 대부분의 플랫폼에서 마이크로초 정밀도(일부에서는 나노초)를 캡처합니다. 이전의 currentTimeMillis()는 밀리초만 제공했습니다.
관련 문서