电量时段方案处理

处理一段根据字符串记录的时段方案,可以按照方案取不同电价的起止时间,进而从实时数据中读取差值,记录用电量

        Map<Integer,Integer> pm = Maps.newHashMap();
        List<Integer> key = Lists.newArrayList();
        String peakValley = "000000012222111111133220";         //时段方案,0~3分别代表谷平峰尖
        int interval = peakValley.length()==24 ? 2 : 1;         //1小时制为24长度,半小时制为48个长度
        key.add(0);
        pm.put(0,0);
        for(int i=1;i<peakValley.length();i++){
            if(peakValley.charAt(i-1)!=peakValley.charAt(i)){
                pm.put(i*interval ,Integer.parseInt(String.valueOf(peakValley.charAt(i-1))));
                key.add(i*interval);
            }
            if(i == peakValley.length()-1){
                pm.put(((i+1)*interval) ,Integer.parseInt(String.valueOf(peakValley.charAt(i))));
                key.add((i+1)*interval);
            }
        }
        for(Integer j:key){
            if(j==0)continue;
            System.out.println((j/2)+":"+ (j%2==1?"30":"00")+"  "+pm.get(j));
        }

输出为:

7:00  0						
8:00  1
12:00  2
19:00  1
21:00  3
23:00  2
24:00  0

从0-7点为谷(0),7-8点为平(1),如果不好看出来,那这样输出:

		Date day = new Date();
		for(int i=1;i<key.size();i++){
		     day.setTime(1557072000000L+key.get(i-1)*1800*1000);     //1557072000000L 今日00:00
		     System.out.println(day);
		     day.setTime(1557072000000L+key.get(i)*1800*1000);
		     System.out.println(day);
		     System.out.println(pm.get(key.get(i)));
		 }

输出:

Mon May 06 00:00:00 CST 2019
Mon May 06 07:00:00 CST 2019
0
Mon May 06 07:00:00 CST 2019
Mon May 06 08:00:00 CST 2019
1
Mon May 06 08:00:00 CST 2019
Mon May 06 12:00:00 CST 2019
2
Mon May 06 12:00:00 CST 2019
Mon May 06 19:00:00 CST 2019
1
Mon May 06 19:00:00 CST 2019
Mon May 06 21:00:00 CST 2019
3
Mon May 06 21:00:00 CST 2019
Mon May 06 23:00:00 CST 2019
2
Mon May 06 23:00:00 CST 2019
Tue May 07 00:00:00 CST 2019
0

直接把两个时间传入取读书差的方法就可以得到不同时段的用电量了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值