Я хочу, чтобы мои значения JLabel отображались в формате HH:mm:ss
без использования каких-либо внешних библиотек.(метка будет обновляться каждую секунду)
Так, например, следующий ввод в секундах и желаемый вывод ниже:
Seconds: Output:
--------------------------------------------------
long seconds = 0 00:00:00
long seconds = 5 00:00:05
long seconds = 500 00:08:20
long seconds = 5000 01:23:20
Note: the seconds value is of type long
Я знаю, чтообычно для получения нужных чисел достаточно выполнить следующие преобразования:
long s = 5000; //total seconds
long hrs = (s / 3600) //hours
long mins = ((s%3600)/60) //minutes
long secs = (s%60) //seconds
Однако это оставляет десятичные значения для значений.Возможно, есть какое-то форматирование, которое позволит мне отбрасывать ненужные десятичные дроби.
Опции, с которыми я сталкивался, были String.format()
, SimpleDateFormat()
или конкатенация строки самостоятельно.
Дело в том, что я буду обновлять этот JLabel каждую секунду, и иногда он может сосчитать до 5-6 дней, если не дольше.
Так что я ищу кого-то, кто имеет больше опыта в этой области, чем я, и знает наиболее эффективный способ решения этой проблемы.