如何向用户显示时间金额?

时间:2011-10-22 22:20:34

标签: java time

我想将时间量从毫秒转换为人类可读的字符串。

例如:

3,600,000应显示为1:00:00(1小时)。

Java中是否存在可以执行此操作的现有库或类?

1 个答案:

答案 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);