2 回答

TA贡献1890条经验 获得超9个赞
@Test
public void test(){
List<Date> list = new ArrayList<>();
Calendar calendar = Calendar.getInstance();
int index = 1;
while (index < 24){
calendar.set(01,1,1,index,0,0);
Date d = calendar.getTime();
calendar.add(Calendar.MINUTE,30);
Date d30 = calendar.getTime();
list.add(d);
list.add(d30);
index++;
}
String result = "";
SimpleDateFormat myFmt = new SimpleDateFormat("HH:mm");
for (Date d: list) {
result = result + myFmt.format(d) + "\n";
}
assert list.size() == 46;
}

TA贡献1963条经验 获得超6个赞
试一试Java8的Stream来生成对应的时间吧,也用到了新的时间API LocalTime(以前的时间API真是让人痛苦...)
List<LocalTime> list = Stream.iterate(LocalTime.of(0,0), seed -> seed.plusMinutes(30)).limit(48).collect(Collectors.toList());
代码简单而优雅,只是在LocalTime中不支持24:00这种表示方式,最后输出的最后一个是23:00
添加回答
举报