Convert seconds value to hours minutes seconds? Convert seconds value to hours minutes seconds? java java

Convert seconds value to hours minutes seconds?


Is it necessary to use a BigDecimal? If you don't have to, I'd use an int or long for seconds, and it would simplify things a little bit:

hours = totalSecs / 3600;minutes = (totalSecs % 3600) / 60;seconds = totalSecs % 60;timeString = String.format("%02d:%02d:%02d", hours, minutes, seconds);

You might want to pad each to make sure they're two digit values(or whatever) in the string, though.


DateUtils.formatElapsedTime(long), formats an elapsed time in the form "MM:SS" or "H:MM:SS" . It returns the String you are looking for. You can find the documentation here


You should have more luck with

hours = roundThreeCalc.divide(var3600, BigDecimal.ROUND_FLOOR);myremainder = roundThreeCalc.remainder(var3600);minutes = myremainder.divide(var60, BigDecimal.ROUND_FLOOR);seconds = myremainder.remainder(var60);

This will drop the decimal values after each division.

Edit: If that didn't work, try this. (I just wrote and tested it)

public static int[] splitToComponentTimes(BigDecimal biggy){    long longVal = biggy.longValue();    int hours = (int) longVal / 3600;    int remainder = (int) longVal - hours * 3600;    int mins = remainder / 60;    remainder = remainder - mins * 60;    int secs = remainder;    int[] ints = {hours , mins , secs};    return ints;}