我有一个时间戳的字符串输入,如下所示:
23 46 22
其中' 23'表示当天的小时,' 46'是分钟和' 22'是第二个。
我有一个小问题。我需要从此实例获取所有时间戳,直到当天结束,即从23 46 22
到23 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...
这样做的优雅方法是什么?
答案 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;
}