Выставленное время с поддержкой месяца в день в Java

StackOverflow https://stackoverflow.com/questions/7807119

Вопрос

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

    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 дня!

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

Спасибо

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top