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