首页 > 其他 > 详细

获取时间间隔内每个时间点对应的时间

时间:2021-05-19 17:08:40      阅读:31      评论:0      收藏:0      [点我收藏+]

测试:

按1分钟分割

@Test
    public void myTest(){
        //按1分钟分割
        //注意:当开始时间为00:00:00时,截止时间不能写为00:59:59(当开始时间累加到00:59:00时,依然小于截止时间,继续加一分钟变成00:00:00,进入死循环)
        Map<String,String> map = getQueryTime("00:00:00", "00:59:00", "HH:mm:ss", Calendar.MINUTE, 1);
        System.out.println(map);
    }

结果:

技术分享图片

按一天分割

@Test
    public void myTest(){
        //按1天分割
        Map<String,String> map = getQueryTime("2021-05-01", "2021-05-18", "yyyy-MM-dd", Calendar.DAY_OF_MONTH, 1);
        System.out.println(map);
    }

结果:

技术分享图片

逻辑代码:

/**
     * 循环条件为开始时间小于截止时间,若满足条件,开始时间就加上时间间隔
     * @param startTime 开始时间
     * @param endTime  截止时间
     * @param format   返回数据的时间格式
     * @param unit  按分钟、天划分(Calendar.MINUTE,Calendar.DAY_OF_MONTH,..........)
     * @param interval 时间间隔(1,2,3,......)
     * @return
     */
    public Map<String,String> getQueryTime(String startTime, String endTime, String format, int unit, int interval){
        LinkedHashMap<String,String> timeMap = Maps.newLinkedHashMap();
        try {
            while (startTime.compareTo(endTime)<0){
                timeMap.put(startTime,startTime);
                startTime = getDateTimeByInterval(startTime,interval,unit,format);
            }
            timeMap.put(startTime,startTime);
        } catch (Exception e) {
            e.getMessage();
        }
        return timeMap;
    }

    private String getDateTimeByInterval(String readingTime,int interval,int unit,String format){
        Calendar calendar = Calendar.getInstance();
        try {
            SimpleDateFormat dateFormat = new SimpleDateFormat(format);
            Date date = dateFormat.parse(readingTime);
            calendar.setTime(date);
            calendar.add(unit, interval);
        }
        catch (ParseException e) {
            e.printStackTrace();
        }
        return new SimpleDateFormat(format).format(calendar.getTime());
    }

 

获取时间间隔内每个时间点对应的时间

原文:https://www.cnblogs.com/yzhmj/p/14784409.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!