我试图以给定格式打印两次之间的差异。我尝试了所有可能的解决方案,但无法打印下面的格式
start time: 15:15:30
end time: 15:15:37
difference times:
15:15:31
15:15:32
15:15:33
15:15:34
15:15:35
15:15:36
有关如何使用Java 8实现此目的的任何建议?
答案 0 :(得分:2)
使用java.time库:
LocalTime startTime = LocalTime.parse("15:15:30");
LocalTime endTime = LocalTime.parse("15:15:37");
for (LocalTime current = startTime; current.isBefore(endTime); current = current.plusSeconds(1)) {
System.out.println(current);
}
答案 1 :(得分:0)
您可以制作2个不同的Calendar
个对象,并将时间设置为开始时间和结束时间。
比较这两个实例并添加一秒,直到它们变得相等。您可以同时打印它们。
Calendar startTime = Calendar.getInstance(), endTime = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
startTime.setTime(sdf.parse("15:15:30"));
startTime.add(Calendar.SECOND, 1);
endTime.setTime(sdf.parse("15:15:37"));
while(startTime.compareTo(endTime) < 0) {
System.out.println(sdf.format(startTime.getTime()));
startTime.add(Calendar.SECOND, 1);
}
<强>输出强>
15:15:31
15:15:32
15:15:33
15:15:34
15:15:35
15:15:36