数据按半小时统计显示

简介: 数据按半小时统计显示

 

List<Chart> charts = new ArrayList<>();
        SimpleDateFormat format = newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        charts.add(new Chart(format.parse("2020-01-01 01:10:00"), 2d));
        charts.add(new Chart(format.parse("2020-01-01 01:20:00"), 3d));
        charts.add(new Chart(format.parse("2020-01-01 01:40:00"), 4d));
        charts.add(new Chart(format.parse("2020-02-01 01:50:00"), 3d));
        charts.add(new Chart(format.parse("2020-01-01 02:20:00"), 26d));
        Map<Long, Chart> collect = charts.stream().collect(Collectors.toMap(chart ->
        {
            return chart.date.getTime() / (30 * 60 * 1000);
        }, Function.identity(), (k1, k2)
                -> {
            return k1.date.getTime() > k2.date.getTime() ? k1 : k2;
        }));
        Map<String, Double> map = new HashMap<>();
        format = new
                SimpleDateFormat("yyyy-MM-dd");
        SimpleDateFormat finalFormat = format;
        collect.forEach((k, v) -> { //此处把v.date转换为半小时的标准格式
            String format1 = finalFormat.format(v.date);
            String hours = v.date.getHours() + "";
            int minutes = v.date.getMinutes();
            if
            (minutes >= 0 && minutes < 30) {
                hours = format1 + " " + hours + ":00";
            } else {
                hours = format1 + " " + hours + ":30";
            }
            map.put(hours, v.value);
        });
        Map<String, Double> stringDoubleMap = sortByKey(map);
        static class Chart {
            public Date date;
            public Double value;
            public Chart(Date date, Double value) {
                this.date = date;
                this.value = value;
            }
        }

image.gif

目录
打赏
0
0
0
0
1
分享
相关文章
实时显示当前时间,每秒更新
实时显示当前时间,每秒更新
128 0
从 test.log 中截取当天的所有 gc 信息日志,并统计 gc 时间的平均值和时长最长的时间
从 test.log 中截取当天的所有 gc 信息日志,并统计 gc 时间的平均值和时长最长的时间
123 1
java 把一个时间段中的节假日和周末过滤掉,获得一个或多个时间段
工作中遇到这种需求了,就写了一个方法,测试了几种情况都没有问题
从 test.log 中截取当天的所有 gc 信息日志,并统计 gc 时间的平均值和时长最长的时间。
从 test.log 中截取当天的所有 gc 信息日志,并统计 gc 时间的平均值和时长最长的时间。
71 0
查出与当前系统时间间隔30分钟前后的数据
查出与当前系统时间间隔30分钟前后的数据
102 0
查出与当前系统时间间隔30分钟前后的数据
[前端]每间隔一段时间查询接口获取到百分比,在页面上按照百分比展示进度条,百分比进度后下载文件
[前端]每间隔一段时间查询接口获取到百分比,在页面上按照百分比展示进度条,百分比进度后下载文件
如何将时间改为显示:几天前,几小时前,或者几分钟前
http://www.oschina.net/question/657074_89320#tags_nav   如何将时间改为显示:几天前,几小时前,或者几分钟前  如这样的  最后发帖:2011-01-05 12:33 要改成这样怎么实现: 最后发表:  2分钟前 最后发表:  28秒前 最后...
1493 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等