这是一个很小的JS代码片段,在项目中需要开发一个实时动态的echarts折线图,相关数据是通过实时通信传递过来的。但是由于载入页面的时候socket方面不会发送之前的数据,因此必须在载入页面的时候初始化一些当前时间之前的时间来作为横轴坐标。如下图所示:
代码片段1:JS生成当前时间依次递减的时间序列
- var iniTs = [];
- function createTs() {
- var date = new Date();
- for(var i=0;i<15;i++){
- date.setTime(date.getTime()-60*1000);
- var h = (date.getHours() < 10 ? '0'+date.getHours() : date.getHours()) + ':';
- var m = (date.getMinutes() < 10 ? '0'+date.getMinutes():date.getMinutes()) + ':';
- var s = (date.getSeconds() < 10 ? '0'+date.getSeconds() : date.getSeconds());
- iniTs.push(h+m+s);
- }
- }
- createTs();
以上代码会生成一个一分钟间隔的时间递减序列,通过修改第五行可以自行定义时间递减的间隔。
代码片段2:JS从13位时间戳中获取时分秒。
- function parseTimeStamps(ts){
- var date = new Date(ts); //13位时间戳
- const h = (date.getHours() < 10 ? '0'+date.getHours() : date.getHours()) + ':';
- const m = (date.getMinutes() < 10 ? '0'+date.getMinutes() : date.getMinutes()) + ':';
- const s = (date.getSeconds() < 10 ? '0'+date.getSeconds() : date.getSeconds());
- return (h+m+s);
- }
代码片段比较简单,在此做个笔记。