Задать формат времени в часах

162
25 июля 2018, 19:20

Пишу приложения для часов.

Есть перемененные int hour=1 и int min=9.

Как правильно переводить такие числа к "01" и "09" в int или сразу string для последующей отправки по bluetooth.

Answer 1

Если абстрагироваться от того, что это часы и минуты, то можно представить это как форматирование вывода числа.

В этом случае можно воспользоваться методом String.format:

String result = String.format("%02d", hour);

Решение "в лоб" для конкретной ситуации из вопроса, на мой взгляд, тоже вполне имеет право на жизнь, потому что оно понятное, короткое и работает как минимум не медленно:

String result = hour < 10 ? "0" + hour : "" + hour;

При использовании старой версии Java оно вообще становится основным. Для Android столь старые версии неактуальны, но всё же.

Answer 2

Используйте SimpleDateFormat:

Calendar calendar = Calendar.getInstance();
String hours = new SimpleDateFormat("HH").format(calendar.getTime()); 
String minutes = new SimpleDateFormat("mm").format(calendar.getTime());

"HH" (и "mm") отвечают за то, чтобы числа отображались двузначные (даже если они меньше 10).

Посмотрите, здесь более подробно. Там есть и другие форматы отображения дат.

READ ALSO
Треугольник на css. Border закрывает другие блоки

Треугольник на css. Border закрывает другие блоки

Есть подменю, где в вёрстке используется треугольник на cssПроблема в том что его прозрачные границы "закрывают" ссылки в подменю

193
Разница css и min.css

Разница css и min.css

Вот уж не знаю, к месту ли данный вопрос, но ранее меня это не интересовалоЕсли в файл style

200
Изменение ширины Autocomplete TextField

Изменение ширины Autocomplete TextField

Всем доброго! Есть Autocomplete TextField от controlsFX, и пытаюсь менять ширину, чтоб было по всей ширине TextFieldприменил стили но кроме ширины все работает

149
Ошибка при парсинге json-данных

Ошибка при парсинге json-данных

Нужно передать массив точек через jsonНа сайте используется шаблонизатор ejs

172