Node.js 调用moment.js计算时间间隔
2017-05-23 18:02
477 查看
业务背景:今天让做一个心跳包的处理,要设置为一小时间隔没有收到就报警,上网查阅了一下用什么类库好,大家都说moment可以。于是就引入了moment进行计算
首先到项目文件夹下(windows 系统)运行cmd 用npm install moment.js 稍等片刻然后在项目文件中写var moment = require(‘moment’);
这样就可以调用moment类库啦
用法参见官方网站
www.momentjs.com
主要我这个使用环境是:每次心跳包来的时候我记录一下时间,并且以后再来的心跳包只会进行更新
var receivedTime = moment();//这样写是默认格式的时间 var receivedTime = moment().format('YYYY-MM-DD HH:mm');//这个就是自定义了
然后我有一个计时器,在小于一小时的时间间隔里进行全表检测,因为终端设备不多,每一个心跳包的最后一次时间戳与当前时间进行比对,超过一小时就进行警报处理,这是个简单的功能
这里用到了moment的unix()函数,这个函数用于取unix()时间差来计算日期相差多久。
另外使用unix()获取的时间精确到秒 moment还有另一个函数 valueOf()精确到毫秒,这里对精度要求不高所以只需要用unix()
setInterval(function(){ var sql = 'select exhibit_code,receivedtime from exhibit_heartbeat'; mysqlHandler.excuteSql(sql,function(err,results){ results.forEach(function(result,index){ var receivedTime = moment(result['receivedtime']); var timeOut = moment().unix() - receivedTime.unix(); if((timeOut/3600) >= 1)//更改这里的参数用于心跳包间隔 { console.log("设备:" + result['exhibit_code'] + "心跳超时"); } }); }); },6000); //正常时间60000 测试缩短
以上就是moment.js的时间计算 和java的calendar类一样,moment.js也有很多方便的功能
相关文章推荐
- Unity 在JS中间隔时间调用方法
- Js 时间间隔计算(间隔天数)
- js 调用不同的js函数列表的时候, 中间需要时间间隔
- 计算时间间隔的js
- js前台计算两个日期的间隔时间(时间差)
- js操作时间--比较两个时间大小,时间间隔的计算
- Js 时间间隔计算(间隔天数)
- js时间戳 间隔 (天数) 计算
- JS计算时间间隔
- Js 时间间隔计算(间隔天数)
- Js 时间间隔计算(间隔天数)
- 计算指定日期的时间间隔
- js计算页面执行时间
- 计算两个日期的时间间隔
- c# 计算时间间隔
- js中计算时间差值 (天数)
- JavaScript日期时间间隔计算
- [原] Excel中计算2个日期间的时间间隔
- 【代码保留】时间器(用于计算时间间隔的类)
- js 当前日期 格式 Javascript 对时间的代号 日期计算