在Kotlin中解析持续时间字符串

问题描述 投票:0回答:1

我正在使用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

那么,有没有一种简单有效的方法?

android parsing kotlin duration
1个回答
0
投票
  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)

输出:

68
68830000000
68.83
© www.soinside.com 2019 - 2024. All rights reserved.