Eleganckie rozwiązanie - wyświetlanie tekstu

Eleganckie rozwiązanie - wyświetlanie tekstu
R1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 208
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?

Kopiuj
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)));
PI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2787
0

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

szweszwe
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1694
1

Nie lepiej coś takiego?

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

Dla 2 zwraca Ci 02 a dla 11 dostajesz 11

R1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 208
0

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

Koziołek
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Stacktrace
  • Postów: 6823
2

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.