Instant z precyzją nanosekundową
Pobieraj znaczniki czasu z precyzją mikro- lub nanosekundową.
Porównanie kodu
✕ 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();
Widzisz problem z tym kodem? Daj nam znać.
Dlaczego nowoczesne podejście wygrywa
Wyższa precyzja
Znaczniki mikro-/nanosekundowe zamiast milisekundowych.
Bezpieczne typowanie
Instant niesie swoją precyzję — żadnych niejednoznacznych longów.
Bazuje na UTC
Instant jest zawsze w UTC — bez zamieszania ze strefami czasowymi.
Stare podejście
Milisekundy
Nowoczesne podejście
Nanosekundy
Od JDK
9
Poziom trudności
Średniozaawansowany
Wsparcie JDK
Instant z precyzją nanosekundową
Dostępne
Szeroko dostępne od JDK 9 (wrzesień 2017)
Jak to działa
Java 9 poprawiła rozdzielczość zegara, dzięki czemu Instant.now() przechwytuje precyzję mikrosekundową na większości platform (nanosekundową na niektórych). Stare currentTimeMillis() daje tylko milisekundy.
Powiązana dokumentacja
Dowód