猿问

java何如通过集合添加00:00到24:00.每半个小时增加一个

java何如通过集合添加00:00到24:00.每半个小时是一个元素(00:00;00:30;01:00),像这样的时间段


慕的地8271018
浏览 849回答 2
2回答

当年话下

&nbsp;@Test&nbsp; &nbsp; public void test(){&nbsp; &nbsp; &nbsp; &nbsp; List<Date> list = new ArrayList<>();&nbsp; &nbsp; &nbsp; &nbsp; Calendar calendar = Calendar.getInstance();&nbsp; &nbsp; &nbsp; &nbsp; int index = 1;&nbsp; &nbsp; &nbsp; &nbsp; while (index < 24){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; calendar.set(01,1,1,index,0,0);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Date d = calendar.getTime();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; calendar.add(Calendar.MINUTE,30);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Date d30 = calendar.getTime();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; list.add(d);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; list.add(d30);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; index++;&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; String result = "";&nbsp; &nbsp; &nbsp; &nbsp; SimpleDateFormat myFmt = new SimpleDateFormat("HH:mm");&nbsp; &nbsp; &nbsp; &nbsp; for (Date d: list) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; result = result + myFmt.format(d) + "\n";&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; assert list.size() == 46;&nbsp; &nbsp; }

神不在的星期二

试一试Java8的Stream来生成对应的时间吧,也用到了新的时间API LocalTime(以前的时间API真是让人痛苦...)List<LocalTime>&nbsp;list&nbsp;=&nbsp;Stream.iterate(LocalTime.of(0,0),&nbsp;seed&nbsp;->&nbsp;seed.plusMinutes(30)).limit(48).collect(Collectors.toList());代码简单而优雅,只是在LocalTime中不支持24:00这种表示方式,最后输出的最后一个是23:00
随时随地看视频慕课网APP

相关分类

Java
我要回答