-2
String timerStop1 = String.format("%02d", hours) + ":"+String.format("%02d", minutes) + ":"
                  + String.format("%02d", seconds);

我正在使用上面连接的字符串值,我想将其转换为整数以在我的 android 应用程序中使用。我该怎么做呢?

4

4 回答 4

4

第一步是将HH:MM:SS格式的时间(这是您的字符串的格式)转换为秒,如下所示:

String timerStop1 = String.format("%02d", hours) + ":" + String.format("%02d", minutes) + ":" + String.format("%02d", seconds);
String[] timef=timerStop1.split(":");  

int hour=Integer.parseInt(timef[0]);  
int minute=Integer.parseInt(timef[1]);  
int second=Integer.parseInt(timef[2]);  

int temp;  
temp = second + (60 * minute) + (3600 * hour);  

System.out.println("seconds " + temp); 

但是,这只获取时间为秒(整数),而不是时间戳!

更新:

而且,正如 Colin 指出的那样,鉴于您已经可以访问变量:小时、分钟、秒 - 为什么不按照他的建议去做 - 这是完全正确的?

https://stackoverflow.com/a/15307211/866930

那是因为 OP 想知道如何将 HH:MM:SS 字符串转换为整数 - 如果是这样,那么这是最通用的方法,IMO。

于 2013-03-09T04:34:29.787 回答
1

由于包含数字以外的字符,因此无法解析timerStop1为整数。timerStop1

于 2013-03-09T04:36:21.347 回答
1

你可以只使用变量小时,分钟,秒。假设通过转换为整数,您需要总秒数。

int time = seconds + (minutes * 60) + (hours * 3600);
于 2013-03-09T04:37:54.700 回答
-1

tostring()方法不是必需的

Integer.parseInt(timerStop1);
于 2013-03-09T04:38:00.637 回答