将长毫秒值转换为格式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


此代码不包括毫秒。

最佳答案

您可以尝试以下代码:

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)上进行了测试。

关于java - 将毫秒转换为00:00:00.000格式的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37286105/

10-10 19:19