我正在尝试将我在静态字符串中的时间(例如“07:02”)转换为毫秒。我正在查看文档TimeUnit并试图让我的字符串转换为毫秒,但首先我有一个字符串,所以转换器函数不接受字符串我猜其次我有两个,分钟和秒,所以我应该将它们逐个转换然后添加它们?似乎不是一个好方法?
TimeUnit.MILLISECONDS.convert(10L, TimeUnit.MINUTES)
答案 0 :(得分:6)
我刚刚查看了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);
答案 1 :(得分:2)
算法如下:
答案 2 :(得分:2)
我想出了以下方法。
按时间分割时间:'并使用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