Android:将分钟和秒转换为毫秒

时间:2013-07-23 11:29:23

标签: java android

我正在尝试将我在静态字符串中的时间(例如“07:02”)转换为毫秒。我正在查看文档TimeUnit并试图让我的字符串转换为毫秒,但首先我有一个字符串,所以转换器函数不接受字符串我猜其次我有两个,分钟和秒,所以我应该将它们逐个转换然后添加它们?似乎不是一个好方法?

TimeUnit.MILLISECONDS.convert(10L, TimeUnit.MINUTES)

3 个答案:

答案 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)

算法如下:

  1. 转换为整数(int minutes,int seconds)
  2. 将分钟转换为秒(即分钟* 60;)
  3. 将转换的分钟数添加到秒数(即int total =(分钟* 60)+秒;)
  4. 转换为毫秒(即milli = total / 1000)

答案 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