Страницы

Поиск по вопросам

четверг, 14 февраля 2019 г.

Как посчитать время потраченное на выполнение задания?

Пишу маленькое приложение на Android на Java. У меня пользователи в одном активити проходят тест и, по завершению теста, открывается следующее активити, в которое передается итоговая инфа по прохождению теста. Так вот, одно из полей - это потраченное время на задание... я пробую считать время хронометром, но он в миллисекундах считает и потом форматировать через различные проверки в формат 00:00 (02 : 34), очень костыльно получается... Я уверен, что есть более изящное решение...
Как это можно сделать?


Ответ

В начале задания сохраняйте текущее время в long переменную:
long startTime = System.currentTimeMillis(); После окончания получайте разницу:
long totalTime = System.currentTimeMillis() - startTime; Берём класс Calendar и присваиваем ему полученное значение:
Calendar cal = Calendar.getInstance(); cal.setTimeInMillis( totalTime ); Получаем минуты/секунды (без нулей в начале):
int minutes = cal.get(Calendar.MINUTE); int seconds = cal.get(Calendar.SECOND);
или в форматированном виде с помощью класса SimpleDateFormat
SimpleDateFormat format = new SimpleDateFormat("mm:ss"); System.out.println(format.format(cal.getTime()));

Комментариев нет:

Отправить комментарий