Выставленное время с поддержкой месяца в день в Java
-
25-10-2019 - |
Вопрос
Мне нужно отобразить прошедшее время в моей форме заявления.
В настоящее время я делаю это, используя этот код:
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
Для вас задача. Или напишите что -то подобное, если вы не хотите использовать библиотеку.