循环来计算时间戳

时间:2014-11-23 12:38:12

标签: java loops for-loop

我有一个时间戳的字符串输入,如下所示:

23 46 22

其中' 23'表示当天的小时,' 46'是分钟和' 22'是第二个。

我有一个小问题。我需要从此实例获取所有时间戳,直到当天结束,即从23 46 2223 59 59

我用来获取所有时间戳(一次一个)的循环是:

for (int i = hour; i < 24; i++) {
    for (int j = minute; j < 60; j++) {
        for (int k = second; k < 60; k++) {

        }
    } 
}

但这个循环有问题。第二个计数器将始终从当前秒开始,例如:

23 46 22
23 46 23.....
..
23 47 22
23 47 23...

我希望以正确的方式获取时间戳,例如:

23 46 22
23 46 23.....
..
23 47 01
23 47 02...

这样做的优雅方法是什么?

1 个答案:

答案 0 :(得分:2)

您可以在每次循环结束时重置秒和分钟:

int m = minute;
int s = second;

for (int i = hour; i < 24; i++) {
    for (int j = m; j < 60; j++) {
        for (int k = s; k < 60; k++) {
            ....
        }
        s = 0;
    }
    m = 0;  
}