Возможность точного измерения времени до миллисекунд важна для многих приложений, начиная от научных экспериментов и заканчивая играми и мультимедиа. Но как получить такую точность в Java?
Проблема
Представьте, что у вас есть код, который извлекает текущее время и возвращает его в формате «YYYY-MM-DD HH:MM:SS», то есть до секунд. Например:
public static String getCurrentTimeStamp() { SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date now = new Date(); String strDate = sdfDate.format(now); return strDate; }
Это отлично работает, если вам нужна точность только до секунд. Но что, если вам нужно еще точнее, до миллисекунд? В таком случае, вы хотели бы получить время в формате «YYYY-MM-DD HH:MM:SS.MS», где «MS» — это миллисекунды.
Решение
Для решения этой проблемы вам необходимо немного изменить формат, используемый в вашем SimpleDateFormat. Вместо «yyyy-MM-dd HH:mm:ss» вы должны использовать «yyyy-MM-dd HH:mm:ss.SSS». Это укажет SimpleDateFormat, что вы хотите включить миллисекунды в выводимую строку. Итак, исправленный код будет выглядеть так:
public static String getCurrentTimeStamp() { SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); Date now = new Date(); String strDate = sdfDate.format(now); return strDate; }
Теперь, когда вы вызываете этот метод, он вернет текущее время до миллисекунд, например, «2022-01-01 12:00:00.123».
Таким образом, работа с миллисекундами в Java может быть достаточно простой, если вы знаете, как правильно настроить SimpleDateFormat.
Добавить комментарий