Eleganckie rozwiązanie - wyświetlanie tekstu

0

Witam,

czy takie podejście odnośnie uzupełniania czasu o poprzedzające 0 w sytuacji kiedy np. godz jest mniejsza niż 10 jest właściwe i eleganckie czy lepiej jest zastosować zwykłe if-y?

textTime.setText((time.get(GregorianCalendar.HOUR_OF_DAY) < 10 ? "0" + time.get(GregorianCalendar.HOUR_OF_DAY) : time.get(GregorianCalendar.HOUR_OF_DAY)) +
                ":" + (time.get(GregorianCalendar.MINUTE) < 10 ? "0" + time.get(GregorianCalendar.MINUTE) : time.get(GregorianCalendar.MINUTE)) +
                ":" + (time.get(GregorianCalendar.SECOND) < 10 ? "0" + time.get(GregorianCalendar.SECOND) : time.get(GregorianCalendar.SECOND)));
0

To i to jest słabe. Zastosuj wyrażenie regularne

1

Nie lepiej coś takiego?

String.format("%02d", 2)

Dla 2 zwraca Ci 02 a dla 11 dostajesz 11

0

ja wiem że jest sporo rozwiązań owego "problemu" tylko pytanie, które z nich jest najbardziej zalecane, najbardziej eleganckim rozwiązaniem:)

2

Patrz SimpleDateFormat > https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html to jest jedyne rozsądne podejście do tematu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1