我想将时间量从毫秒转换为人类可读的字符串。
例如:
3,600,000
应显示为1:00:00
(1小时)。
Java中是否存在可以执行此操作的现有库或类?
答案 0 :(得分:3)
从1.5开始有java.util.concurrent.TimeUnit类,使用它如下:
String.format("%d min, %d sec",
TimeUnit.MILLISECONDS.toMinutes(millis),
TimeUnit.MILLISECONDS.toSeconds(millis) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis))
);
对于低于1.5的版本,您必须使用
int seconds = (int) (milliseconds / 1000) % 60 ;
int minutes = (int) ((milliseconds / (1000*60)) % 60);
int hours = (int) ((milliseconds / (1000*60*60)) % 24);