#java #android #время #счетчики
Пишу маленькое приложение на Android на Java. У меня пользователи в одном активити проходят тест и, по завершению теста, открывается следующее активити, в которое передается итоговая инфа по прохождению теста. Так вот, одно из полей - это потраченное время на задание... я пробую считать время хронометром, но он в миллисекундах считает и потом форматировать через различные проверки в формат 00:00 (02 : 34), очень костыльно получается... Я уверен, что есть более изящное решение... Как это можно сделать?
Ответы
Ответ 1
В начале задания сохраняйте текущее время в 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()));
Комментариев нет:
Отправить комментарий