将长毫秒转换为00:00:00.000格式字符串

时间:2016-05-17 20:56:38

标签: java

将长毫秒值转换为格式00:00:00.000。我不能有几个小时的环绕。所以我不能'使用DateFormat

long millis = 3600000;
String hms = String.format("%02d:%02d:%02d",  TimeUnit.MILLISECONDS.toHours(millis),
TimeUnit.MILLISECONDS.toMinutes(millis) % TimeUnit.HOURS.toMinutes(1),
TimeUnit.MILLISECONDS.toSeconds(millis) % TimeUnit.MINUTES.toSeconds(1));
//Output: 01:00:00

此代码不包括毫秒。

1 个答案:

答案 0 :(得分:1)

您可以尝试以下代码:

long millis = 3600000;
String hms = String.format("%02d:%02d:%02d.%03d",  TimeUnit.MILLISECONDS.toHours(millis),
TimeUnit.MILLISECONDS.toMinutes(millis) % TimeUnit.HOURS.toMinutes(1),
TimeUnit.MILLISECONDS.toSeconds(millis) % TimeUnit.MINUTES.toSeconds(1),
    millis % 1000);

它将格式字符串扩展为".%03d",并将毫秒(millis % 1000)添加到参数列表中。在java v1.8.0_91(Oracle JRE)上测试。