这是我的CODE,但是直到我的结束输入时间继续循环时,它才停止循环,我只想循环播放直到12HOUR FORMAT中的结束输入时间为止。我该怎么办?
package javaapplication;
import java.time.LocalTime;
import java.text.ParseException;
public class JavaApplication {
public static void main(String[] args) throws ParseException {
String time1 = "09:00"; //my first input time
String timeEnds = "4:00"; //my second input time
LocalTime timeStart = LocalTime.parse(time1);
while(time1!=timeEnds) {
timeStart = timeStart.plusMinutes(30);
System.out.println(""+timeStart);
}
}
}
答案 0 :(得分:0)
请注意,就"4:00"
而言,LocalTime.parse(CharSequence)
不是本地时间的有效格式。您应该使用"04:00"
。
此处使用的一个技巧是首先检查结束时间是否早于开始时间。如果是这样,则结束时间与开始时间在一天的另一半之间。在这种情况下,我们将结束时间增加12小时。
打印时间时,我们使用自定义格式hh:mm
。小写字母h
的意思是“ 12小时制的小时”。
String time1 = "09:00"; //my first input time
String timeEnds = "04:00"; //my second input time
LocalTime timeStart = LocalTime.parse(time1);
LocalTime timeEnd = LocalTime.parse(timeEnds);
if (timeStart.isAfter(timeEnd)) {
timeEnd = timeEnd.plusHours(12);
}
while(timeStart.isBefore(timeEnd)) {
timeStart = timeStart.plusMinutes(30);
System.out.println(timeStart.format(DateTimeFormatter.ofPattern("hh:mm")));
}