Индивидуально доступный Час Минута Секунды до ЧЧ: мм: сс формат - PullRequest
0 голосов
/ 24 января 2019

У меня есть объект, который хранит часы, минуты, секунды индивидуально.

public static class ETA {
        private int hours;  // 2 (single or double digit 24 hour format)
        private int minutes; // 0 (single or double digit)
        private int seconds;  // 0 (single or double digit)

// getters.. setters..
}

Мне нужно сохранить это время в CSV-файл с правильной строкой как "02:00:00" с форматом HH:mm:ss и NOT as "2:0:0";

Я пытался с методом StringBuilder append (), но получил очень запутанный код. Вот что я попробовал ...

ETA e = new ETA();
StringBuilder time = new StringBuilder();
if (e.getHour() < 10) {
time.append("0" + e.getHour());
} else {
time.append(e.getHour());
}
// similarly for minute and seconds, and then returned time.

Мне это не кажется приятным. Так как мне лучше подойти к нему?

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Если вы хотите использовать шаблон, вы можете сначала преобразовать ETA в LocalTime и использовать DateTimeFormatter для форматирования:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");

LocalTime t = LocalTime.of(5, 12, 42); //use your getters here
String s = formatter.format(t);
System.out.println(s);

Этот параметр также проверяет дату, т. Е. Выдает java.time.DateTimeException, если одно из значений выходит за пределы диапазона.

Выход:

05:12:42
0 голосов
/ 24 января 2019

Примерно так:

String.format("%02d:%02d:%02d", e.getHours(), e.getMinutes(), e.getSeconds())
...