将长毫秒值转换为格式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
此代码不包括毫秒。
答案 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)上测试。