1 数据库sql查询的数据

2 最终echarts画出来的图

3 代码如下

计算主方法方法

/*** echarts算时间轴代码(算流量的代码),这里的时间间隔为5秒钟,一分钟的流量,totalSize = 12* ebuStreamList 为EbuStream的集合, EbuStream的属性有totalStream,time* totalSize为x轴有多少点* startTime 为起始时间* */private String[] getEbuStream(List<EbuStream> ebuStreamList,int totalSize,String startTime) throws ParseException{String[] totalStreamArray = new String[totalSize];String currentTime  = startTime; //起始时间变量int pointer = 0; //时间指针int counter = 0 ;//计数器for(int i = 0 ;  i < totalSize ; i ++){ // 遍历开始,为每个点赋值String nextTime = ChartsTimeUtil.getNextTime(currentTime, 1); //下一次时间//校验时间if(ebuStreamList!=null&&ebuStreamList.size()>pointer){String cpuTime  = ebuStreamList.get(pointer).getTime();//得到当前流量实体的时间/*** 假设时间为* currentTime = 2016-05-07 22:10:46* cpuTime = 2016-05-07 22:10:48* nextTime = 2016-05-07 22:10:51* 则cpuTime在currentTime和nextTime之间* 执行if( ChartsTimeUtil.isBigger(cpuTime, currentTime) && ChartsTimeUtil.isBigger(nextTime, cpuTime) )里面的代码* * */if( ChartsTimeUtil.isBigger(cpuTime, currentTime) && ChartsTimeUtil.isBigger(nextTime, cpuTime) ){totalStreamArray[i] = ""+ebuStreamList.get(pointer).getTotalStream()+"";pointer++;counter++;}/*** 假设时间为* cpuTime = 2016-05-07 22:10:45* currentTime = 2016-05-07 22:10:46* nextTime = 2016-05-07 22:10:51* 则cpuTime在currentTime和nextTime的左侧* 执行else if(ChartsTimeUtil.isBigger(currentTime, cpuTime))里面的代码* * */else if(ChartsTimeUtil.isBigger(currentTime, cpuTime)){pointer++;nextTime = currentTime;i--;}/*** 假设时间为* currentTime = 2016-05-07 22:10:46* nextTime = 2016-05-07 22:10:51* cpuTime = 2016-05-07 22:10:53* 则cpuTime在currentTime和nextTime的右侧* 执行下面else里面的代码* * */else{totalStreamArray[i] = "";counter++;}}/*** 当ebuStreamList为空的时候执行下面else代码* */else{totalStreamArray[i] = "";counter++;}currentTime = nextTime; // 当前时间往下移一个点}return totalStreamArray;}

ChartsTimeUtil.getNextTime方法代码

 /*** 得到下一个点的时间* private static Calendar calendar = Calendar.getInstance(); * private static SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");* ChartsSnmpTimerTask.timeFrequency=1000 * 5;  // 时间间隔5秒钟* * **/public static String getNextTime(String currentTime ,int next) throws ParseException{if(currentTime==null||currentTime.replace(" ", "").equals("")) return null;calendar.setTime(simpleDateFormat.parse(currentTime));calendar.set(Calendar.SECOND , calendar.get(Calendar.SECOND) + ( ChartsSnmpTimerTask.timeFrequency / 1000 ) * next  );return simpleDateFormat.format(calendar.getTime());}

ChartsTimeUtil.isBigger代码

 /**  * 比较两个日期之间的大小 *  * @param d1 * @param d2 * @return 前者大于后者返回true 反之false * @throws ParseException */  public static boolean isBigger( String time1,  String time2) throws ParseException {  int result = time1.compareTo(time2);if(result>=0){return true;}else{return false;}} 

EbuStream实体类

package com.nufront.euht.web.ebu.model;import java.sql.Timestamp;/*** ebu流量实体* */
public class EbuStream {private String id;private int upstream;private int downstream;private int totalStream;private String time;public String getId() {return id;}public void setId(String id) {this.id = id;}public int getUpstream() {return upstream;}public void setUpstream(int upstream) {this.upstream = upstream;}public int getDownstream() {return downstream;}public void setDownstream(int downstream) {this.downstream = downstream;}public int getTotalStream() {return totalStream;}public void setTotalStream(int totalStream) {this.totalStream = totalStream;}public String getTime() {return time;}public void setTime(String time) {this.time = time;}}

自己写的计算时间坐标的代码相关推荐

  1. 用C++写一个计算向量夹角的代码

    C语言中计算向量夹角的代码如下: #include <math.h> #include <stdio.h>double dot_product(double x1, doubl ...

  2. 三角测量计算三维坐标的代码_计算机视觉10 基于图像的三维模型重建流程总结...

    基于图像的三维重建解释 基于图像的三维重建,是一种通过拍摄一个场景的不同视角的图片,恢复出场景三维模型的方法,三维重建在逆向工程,文物保护,增强现实等领域有着广泛的应用. 本文只总结流程,不做算法的详 ...

  3. 三角测量计算三维坐标的代码_浅谈三维扫描仪的由来

    随着人类的发展,每一款新型产品的由来都是工业革命的产物,人们发明的任何一个产品都是要服务于人类并创造出更多的价值:其中三维扫描仪的出现也是为了满足于人类的需要而产生的,在传统的测量中接触式测量是出现最 ...

  4. 自学php【二】 PHP计算时间加一天

    最近几天在做一个项目,主要是将SQLserver数据到MySQL数据库,一个url跑一次 同步一次昨天的数据,由于很多数据需要同步,所以做了一个操作界面的,一个单纯跑url的 在其中涉及到了对于时间的 ...

  5. python计算时间差代码_Python3显示当前时间、计算时间差及时间加减法示例代码...

    Python3显示当前时间.计算时间差及时间加减法示例代码 摘要 在使用Python写程序时,经常需要输出系统的当前时间以及计算两个时间之间的差值,或者将当前时间加减一定时间(天数.小时.分钟.秒)来 ...

  6. python计算存款复利计算器_分享下自己写的计算余额宝上复利的代码,网上的复利计算器无法满足需求...

    分享下自己写的计算余额宝上复利的代码,网上的复利计算器无法满足需求 每年存10万10%的回报连续存20年后复利=6400249.9 (钱足够多的话10%的回报还是可以找到的) 每月存1万,10%的年回 ...

  7. SLAM无人车计算地图坐标,ros中计算地图坐标,rosweb计算画布对应的坐标(含代码,含公式,超详细),开发跨系统地图导航必备算法【可实现qt,android,c#,mfc,html等地图开发】

    ros中计算地图坐标,rosweb计算画布对应的坐标 视频讲解: SLAM无人车计算地图坐标,图片像素坐标公式推导 1.订阅话题 /map nav_msgs::OccupancyGrid 这个消息中可 ...

  8. 如何写出三体的MATLAB程序-代码篇

    如何写出三体的MATLAB程序-代码篇 写在前面 在上文当中我们已经对三个物体之间的受力进行了分析,也说明了在时间 t t t下的加速度.速度和位移的计算方式. 本篇中将根据上一篇的公式来写出对应的代 ...

  9. matlab模拟三体运动_如何写出三体的MATLAB程序-代码篇

    如何写出三体的MATLAB程序-代码篇 写在前面 在上文当中我们已经对三个物体之间的受力进行了分析,也说明了在时间 下的加速度.速度和位移的计算方式. 本篇中将根据上一篇的公式来写出对应的代码,并且详 ...

最新文章

  1. lvs后端realserver的vip管理脚本lvs-realsvr.sh
  2. 20.27 分发系统介绍 20.28 expect脚本远程登录 20.29 expect脚本远程执行
  3. Chrome插件-新浪微博阅读器
  4. Cocos2d-x创建包边字
  5. SAP Spartacus Organization Unit List三个按钮的技术实现
  6. Linux工作笔记035---设置连接Linux Centos 超时连接时间_空闲的等待时间 -bash: TMOUT: readonly variable
  7. linux----文件权限管理
  8. 小米路由器mini WOL网络唤醒插件
  9. Hamcrest Tutorial
  10. 虚幻4 - ARPG实战教程(第一季)
  11. Ubuntu 20.04.2 LTS安装微信(wine)
  12. 关于机器人方面的sci论文_机器人期刊_SCI
  13. 高数·两个重要极限练习
  14. LTE小区搜索过程及SCH/BCH设计
  15. 微信二维码线下推广是否有效
  16. 《Thinking in Bets》读书分享 - 如何在信息不完全情况下做出更好的决策(1)...
  17. java随机生成汉字
  18. C++图书管理查询系统
  19. AJAX学习笔记——发送AJAX的POST请求,模拟from表单提交
  20. 计算机windows前台运行图标,获取 window任务栏已经打开应用程序窗口(也就是任务管理器中前台进程)的图标...

热门文章

  1. 【PAT甲级 多项式相乘】1009 Product of Polynomials (25 分) C++ 全部AC
  2. 架构之:REST和RESTful
  3. Spring Boot JPA中关联表的使用
  4. 计算机dns的工作原理,DNS的工作原理图解说明
  5. Spring Boot 2 实战:利用Redis的Geo功能实现查找附近的位置
  6. Java的,与类的初始化顺序
  7. 【题意+分析】1067 Sort with Swap(0, i) (25 分)_24行代码AC
  8. leetcode[217].存在重复元素
  9. pythonwebsocket接口自动化测试_基于websocket接口的jmeter自动化测试实践(2)
  10. 简单几步就教会你如何使用 dockerfile 制作 LNMP 镜像,还不赶紧学起来