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

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

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


 @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;
    }

试一试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

【热门文章】
【热门文章】