【发布时间】:2021-09-24 12:03:22
【问题描述】:
我正在尝试使用下面的代码将时间字符串转换为毫秒。因为我会把时间用作倒计时。
问题是时间来自数据库并且是 varchar 类型。我试过这段代码,但它没有给我正确的输出。
String timeDuration = "10:00"; //for example only
SimpleDateFormat sdf = new SimpleDateFormat("mm:ss");
Date time = sdf.parse(timeDuration);
long millis = time.getTime(); //The output must be 600000
我用这个代码得到了错误的“毫”。
我正在使用 Android Studio。
【问题讨论】:
-
你得到什么输出?
-
在
:处拆分,从两个值中创建一个int,将左边的值乘以60,将其与右边的值相加,然后将所有值乘以1000。 -
我的输出是
600000。 -
按照@luk2302 所说的去做,或者从拆分操作的结果中构建一个
java.time.Duration并在该持续时间对象上调用.toMillis()。 -
@luk2302 你说得对,谢谢老兄