数据按半小时统计显示

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

 

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

相关文章
|
9月前
|
Java API
java 把一个时间段中的节假日和周末过滤掉,获得一个或多个时间段
工作中遇到这种需求了,就写了一个方法,测试了几种情况都没有问题
|
11月前
|
小程序 数据挖掘 BI
如何统计游戏中的数据
文主要内容是教你如何统计小游戏中的数据,强烈建议收藏,因为你迟早会在自己的小游戏中用到。 如果你没有任何的游戏开发经验,欢迎观看我的“人人都能做游戏”系列教程,它会手把手的教你做出自己的第一个小游戏。
112 0
7-19 树种统计 (10 分)
7-19 树种统计 (10 分)
85 0
|
监控 Python
python 办公自动化系列 (1) 从22053条数据中统计断网次数并计算平均断网时间
找到通网后的第一个日志和断网前的最后一个日志,然后提取 date 列的时间做减法,获得本次断网时间,之后用同样的方法统计每次的断网时间,最后计算总的断网次数和断网时间的平均值
225 0
python 办公自动化系列 (1) 从22053条数据中统计断网次数并计算平均断网时间
|
前端开发 Android开发
如何将时间改为显示:几天前,几小时前,或者几分钟前
http://www.oschina.net/question/657074_89320#tags_nav   如何将时间改为显示:几天前,几小时前,或者几分钟前  如这样的  最后发帖:2011-01-05 12:33 要改成这样怎么实现: 最后发表:  2分钟前 最后发表:  28秒前 最后...
1405 0
8瓶酒一瓶有毒,用人测试。每次测试结果8小时后才会得出,而你只有8个小时的时间。问最少需要(B)人测试?
8瓶酒一瓶有毒,用人测试。每次测试结果8小时后才会得出,而你只有8个小时的时间。问最少需要(B)人测试?
298 0
SAP MM 并非奇怪现象之MB5B报表查不到某一笔出库记录?
SAP MM 并非奇怪现象之MB5B报表查不到某一笔出库记录?
SAP MM 并非奇怪现象之MB5B报表查不到某一笔出库记录?
一段统计双色球历史摇奖记录里每位出现次数的代码
一段统计双色球历史摇奖记录里每位出现次数的代码
146 0
一段统计双色球历史摇奖记录里每位出现次数的代码