Java Portal | Программирование
11.9K subscribers
1.47K photos
112 videos
45 files
1.51K links
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика

Связь: @devmangx

РКН: https://clck.ru/3H4WUg
Download Telegram
System.currentTimeMillis vs System.nanoTime

В Java есть два стандартных способа проведения тайм-операций и не всегда понятно, какой из них следует выбрать.

Метод System.currentTimeMillis возвращает текущее количество миллисекунд от начала эпохи Unix в формате Long. Его точность составляет от 1 до 15 тысячных долей секунды в зависимости от системы.

long startTime = System.currentTimeMillis();
long estimatedTime = System.currentTimeMillis() - startTime;

Метод System.nanoTime имеет точность до одной миллионной доли секунды (наносекунды) и возвращает текущее значение наиболее точного доступного системного таймера.

long startTime = System.nanoTime();
long estimatedTime = System.nanoTime() - startTime;

Таким образом, System.currentTimeMillis отлично подходит для отображения абсолютного времени и синхронизации с ним, а System.nanoTime – для измерения относительных интервалов.

#lesson #time
👍2
💡 Используй Instant.truncatedTo(...), когда нужно сравнивать время с точностью до дня, часа или минуты.

Instant.equals() сравнивает значение целиком, поэтому разница даже в наносекундах даст false
truncateTo(ChronoUnit.DAYS) отбрасывает более мелкие единицы времени
Удобно для проверок вроде «тот же день» или «тот же час»

#Java #Time

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3