在Java中,将时间分成相等的间隔

在Java中,将时间分成相等的间隔,java,Java,有一个开始时间和结束时间,必须分成相等的间隔 例如 开始时间:上午10点, 结束时间:下午14点, 分割时间:30分钟 输出必须是这样的- :输出:: [{时间:“10:00”},{时间:“10:30”},{时间:“11:00”},{时间:“12:00”},{时间:“13:00”},{时间:“13:30”},{时间:“14:00”}] 提前感谢大家。首先,将小时转换为分钟 10AM = 10 * 60 minutes 2PM or 14h = 14 * 60 minutes 然后,为了将分钟转

有一个开始时间和结束时间,必须分成相等的间隔

例如

开始时间:上午10点, 结束时间:下午14点, 分割时间:30分钟

输出必须是这样的-

输出::

[{时间:“10:00”},{时间:“10:30”},{时间:“11:00”},{时间:“12:00”},{时间:“13:00”},{时间:“13:30”},{时间:“14:00”}]


提前感谢大家。

首先,将小时转换为分钟

10AM = 10 * 60 minutes
2PM or 14h = 14 * 60 minutes
然后,为了将分钟转换回小时:

minutes / 60 gives the number of hours
minutes % 60 gives the number of the minutes in the last hour.
如果要始终以2位数字显示小时/分钟,并最终用前导零填充,请使用:

String result = String.format("%02d", minutes/60);
2
表示需要两位数字,
0
表示用零填充)

也就是说,从
10*60
14*60
有两种方法,步骤为
30分钟

最直观的:while循环

public static void interval(int begin, int end, int interval) {
  int time = begin;
  while (time <= end) {
    System.out.println(String.format("%02d:%02d", time / 60, time % 60));
    time += interval;
  }
}
测试

interval2(10 * 60, 14 * 60, 30);
10:00
10:30
11:00
11:30
12:00
12:30
13:00
13:30
14:00
结果

interval2(10 * 60, 14 * 60, 30);
10:00
10:30
11:00
11:30
12:00
12:30
13:00
13:30
14:00

如果剩下一个存根,你会怎么做?i、 想象结束时间是下午14点15分?你觉得for循环怎么样?这么难吗<代码>用于(int-time=10*60;time<14*60;time+=30){}。如果你不理解一些东西,你可以问一个问题,但你必须尝试一些东西并展示出来。你可以使用Java 8Arnaud Denoyelle中的新时间API,这就是我要找的。我是Java新手。谢谢你的详细解释。