How to format a duration in java? (e.g format H:MM:SS)

kofte picture kofte · Nov 5, 2008 · Viewed 153k times · Source

I'd like to format a duration in seconds using a pattern like H:MM:SS. The current utilities in java are designed to format a time but not a duration.

Answer

bobince picture bobince · Nov 5, 2008

If you don't want to drag in libraries, it's simple enough to do yourself using a Formatter, or related shortcut eg. given integer number of seconds s:

  String.format("%d:%02d:%02d", s / 3600, (s % 3600) / 60, (s % 60));