我正在尝试将静态字符串(例如“07:02”)中的时间转换为毫秒。我正在查看文档TimeUnit并试图让我的字符串以毫秒为单位进行转换,但首先我有一个字符串,所以转换器函数不接受我猜的字符串,其次我有分钟和秒,所以我应该将它们转换为一个然后添加它们?似乎不是一个好方法?
TimeUnit.MILLISECONDS.convert(10L, TimeUnit.MINUTES)
我刚刚检查了 TimeUnit 的文档。你可以这样做:
String time = "07:02";
long min = Integer.parseInt(time.substring(0, 2));
long sec = Integer.parseInt(time.substring(3));
long t = (min * 60L) + sec;
long result = TimeUnit.SECONDS.toMillis(t);
算法如下:
我想出了以下方法。
用 ':' 分割时间并使用 TimeUnit 函数。
int convertTime(String timeString) {
String[] time = timeString.split ( ":" );
int pos = time.length - 1;
long res = 0;
if( pos >=0 ){
res = res + TimeUnit.SECONDS.toMillis( Long.parseLong( time[pos] ));
pos --;
}
if( pos >=0 ){
res = res + TimeUnit.MINUTES.toMillis( Long.parseLong( time[pos] ));
pos --;
}
if( pos >=0 ){
res = res + TimeUnit.HOURS.toMillis( Long.parseLong( time[pos] ));
pos --;
}
return (int)res;
}
代码更复杂,因为它应该与
10
1:10
01:10
1:10:20