Nhg*_*yer 6 parsing android duration kotlin
我正在开发一个 Android 应用程序,我需要解析这种形式的持续时间字符串“00:00:00.000”(例如:“00:00:38.47”或“00:03:27.11”)。
我的最终目标是将此字符串转换为总秒数的两倍,以毫秒为单位,以获得进度百分比。
我已经研究过 SimpleDateFormatter,但我在理解它是如何工作的或我应该如何使用它时遇到了一些问题。
我试过这个:
val timeString = "00:01:08.83"
val df = SimpleDateFormat("HH:mm:ss.SS")
df.parse(timeString)?.seconds!!.toFloat() // Returns 8.00, I want to have 68.83 for this example string
Run Code Online (Sandbox Code Playgroud)
那么有没有一种简单/有效的方法来做到这一点?
val time = LocalTime.parse("00:01:08.83", DateTimeFormatter.ofPattern("HH:mm:ss.SS"))
println(time.toSecondOfDay())
println(time.toNanoOfDay())
println(time.toNanoOfDay().toFloat() / 1_000_000_000)
Run Code Online (Sandbox Code Playgroud)
输出:
68
68830000000
68.83
Run Code Online (Sandbox Code Playgroud)