Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
12 Мар 2023
2 мин
804

Работа с миллисекундами в формате даты и времени в Java

Возможность точного измерения времени до миллисекунд важна для многих приложений, начиная от научных экспериментов и заканчивая играми и мультимедиа.

Возможность точного измерения времени до миллисекунд важна для многих приложений, начиная от научных экспериментов и заканчивая играми и мультимедиа. Но как получить такую точность в 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.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий