Sunday, 15 February 2015

time - How to convert Milliseconds to "X mins, x seconds" in Java? -



time - How to convert Milliseconds to "X mins, x seconds" in Java? -

i want record time using system.currenttimemillis() when user begins in program. when finishes, subtract current system.currenttimemillis() start variable, , want show them time elapsed using human readable format such "xx hours, xx mins, xx seconds" or "xx mins, xx seconds" because not take hour.

what's best way this?

since 1.5 there java.util.concurrent.timeunit class, utilize this:

string.format("%d min, %d sec", timeunit.milliseconds.tominutes(millis), timeunit.milliseconds.toseconds(millis) - timeunit.minutes.toseconds(timeunit.milliseconds.tominutes(millis)) );

(thanks @damian comments) if want add together leading 0 values 0-9, do:

string.format("%02d min, %02d sec", timeunit.milliseconds.tominutes(millis), timeunit.milliseconds.toseconds(millis) - timeunit.minutes.toseconds(timeunit.milliseconds.tominutes(millis)) );

for java versions below 1.5 or systems not back upwards timeunit class (such android before api version 9), next equations can used:

int seconds = (int) (milliseconds / 1000) % 60 ; int minutes = (int) ((milliseconds / (1000*60)) % 60); int hours = (int) ((milliseconds / (1000*60*60)) % 24); //etc...

java time

No comments:

Post a Comment