我有一个名为delta
的Long
值,其中包含以毫秒为单位的时间值.
我试图将其格式化为可读的String
,如00:00:00
,或者如果小时值为零00:00
.
private fun remainingTime(delta: Long): String {
val hours = TimeUnit.MILLISECONDS.toHours(delta)
return if (hours == 0L) {
String.format(
"%02d:%02d",
TimeUnit.MILLISECONDS.toMinutes(delta) - TimeUnit.MINUTES.toMinutes(TimeUnit.MILLISECONDS.toHours(delta)),
TimeUnit.MILLISECONDS.toSeconds(delta) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(delta))
)
} else {
String.format(
"%02d:%02d:%02d",
hours,
TimeUnit.MILLISECONDS.toMinutes(delta) - TimeUnit.MINUTES.toMinutes(TimeUnit.MILLISECONDS.toHours(delta)),
TimeUnit.MILLISECONDS.toSeconds(delta) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(delta))
)
}
}
上面的代码工作,但看起来非常低效.我打赌有一个聪明的Kotlin方法来解决这个问题.