Отображение прошедшего времени с поддержкой месяца в день в JAVA

Мне нужно отобразить истекшее время в моей заявке.
В настоящее время я делаю это с помощью этого кода:

    AppTimer = new Timer();
    AppTimer.scheduleAtFixedRate(new java.util.TimerTask() {
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
        public void run() {
            sdf.setTimeZone(java.util.TimeZone.getTimeZone("GMT+0"));
            lblAppRunTime.setText(""+sdf.format(new Date(AppTimeCounter*1000)));
            AppTimeCounter++;
        }
    },1000, 1000);

Этот код правильно отображает часы, минуты и секунды, но как я могу показать ДНИ И МЕСЯЦЫ?new SimpleDateFormat("M D HH:mm:ss") не может сделать это и, например, когда прошло 5 секунд, это показывает 1 месяц и 1 день тоже!

Как я могу показать месяц и день тоже?

Спасибо

1 ответ

Решение

Вам не следует использовать класс Date для него, потому что дата - это момент времени, но вы используете его как продолжительность. Пожалуйста, внимательно прочитайте документацию по времени. И тогда вы могли бы использовать Period а также PeriodFormatter для вас задача. Или напишите что-нибудь подобное, если вы не хотите использовать библиотеку.

Другие вопросы по тегам