java-循环一天的时间

java-循环一天的时间,java,Java,我需要重复一天的时间。 我有开始时间:00:00和结束时间:23:59。 我想把每一分钟每一个小时都循环一遍 如何在Java中实现这一点?是否存在用于此的Java库?for(int hour=0;hour您可以使用简单的循环和模来循环一天中每小时的分钟数 for (int hour = 0; hour <= 23; hour++) { for (int minute = 0; minute <= 59; minute++) { // ... } }

我需要重复一天的时间。 我有开始时间:
00:00
和结束时间:
23:59
。 我想把每一分钟每一个小时都循环一遍


如何在Java中实现这一点?是否存在用于此的Java库?

for(int hour=0;hour您可以使用简单的循环和模来循环一天中每小时的分钟数

for (int hour = 0; hour <= 23; hour++) {
    for (int minute = 0; minute <= 59; minute++) {
        // ...
    }
}
while hour < 24:
    mins = (mins + 1) % 60
    hour += mins == 0 ? 1 : 0
小时<24小时:
分钟=(分钟+1)%60
小时+=分钟==0?1:0

JODA非常适合日期和时间操作。您可能会发现LocalTime类很有趣:,int)

1小时是60分钟。 60分钟x 24小时=每天1440分钟

int minutes;  
for ( minutes = 1440 ; minutes > 0; minutes-- ) //  00:00 - 23:59
{
    // YOUR CODE
}

这很简单,将数据和格式分开:

for(int minutes = 0; minutes < 1440; minutes++) //1440 = 24 * 60
    System.out.println(String.format("%d:%2d", minutes/60, minutes%60));
for(int minutes=0;minutes<1440;minutes++)/1440=24*60
System.out.println(String.format(“%d:%2d”,分钟/60,分钟%60));
如果要如上面所示进行逗号分隔,可以加入自定义匿名迭代器的结果,或者执行以下操作:

for(int minutes = 0; minutes < 1440; minutes++) //1440 = 24 * 60
    System.out.print(String.format("%d:%2d%s", minutes/60, minutes%60, minutes<1439?", ":""));
for(int minutes=0;minutes<1440;minutes++)/1440=24*60

System.out.print(String.format(“%d:%2d%s”,minutes/60,minutes%60,minutes)您需要它作为日期对象还是只显示数字?只有小时和时间。没有日期对象。应该像:9:00,9:01,9:02…10:00,10:01。这是一种奇怪的Java形式。不。您通常正确地怀疑嵌套循环-它们倾向于在O(n^x)中运行时间,其中x是嵌套循环的次数。但是,在这种情况下,总是有1440次迭代。无论是将其表示为重复1440次的单个循环,还是调用重复60次24次的循环(60*24=1440),您将执行1440个操作。因此,使用两个循环是一个非常合理且更具可读性的实现。一个好的优化编译器可能会展开两个实现,最终得到相同的机器代码。没有比Garee的代码更多的循环,只需分为小时和分钟24*60=1440次迭代,就有1440 m一天中的分钟数。如果您想迭代一天中的所有分钟数,恐怕没有更多的选项。此外,在这种情况下,两个嵌套循环比单个循环进行计算以获得小时数和分钟数更有效。您不必使用模和除法(例如,在Matti的代码中)。