广告
返回顶部
首页 > 资讯 > 精选 >怎么利用moment处理时间戳并计算时间的差值
  • 309
分享到

怎么利用moment处理时间戳并计算时间的差值

2023-06-30 09:06:10 309人浏览 薄情痞子
摘要

这篇“怎么利用moment处理时间戳并计算时间的差值”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么利用moment处理时

这篇“怎么利用moment处理时间戳并计算时间的差值”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么利用moment处理时间戳并计算时间的差值”文章吧。

项目使用nodejs写服务端,有个功能就是统计代理服务器流量,然后把统计的数据通过echarts渲染到页面。

当然统计数据这里用到了 定时器,在使用的是

 var  schedule =  require( 'node-schedule');

有兴趣的同学可以在npm上搜一搜关于js定时任务的事,其实都大同小异,差不多都是运用corn表达式。

以下是我的 定时从代理服务器获取数据 并存库。

schedule.scheduleJob('*/15 * * * * * ', function () {            console.log('timer !!!!!!!!!!');            var dataObj1 = {};            iplists.forEach(function (ele, index) {                var req = Http.request("http://" + ele + ":14567/stat", function (res) {                    dataObj1.time = new Date(res.headers.date);                    dataObj1.ip = req.getHeader("host").split(":")[0];                    res.setEncoding('utf-8');                    var tempData = '';                    res.on('data', function (chunk) {                        tempData += chunk;                        var resultObj = JSON.parse(tempData);                        dataObj1.flow = resultObj.bw15s;                        var flow1 = new flowrank1({                            ip: dataObj1.ip,                            flow: dataObj1.flow,                            time: new Date(dataObj1.time)                        });                        flow1.save(function (err, flow1) {                            if (err) {                                console.log(err);                                return;                            }                        });                    });                });                req.on("error", function (err) {                    console.log(err);                });                req.end()            });        });

现在来展示 需要根据前端传过来的 时间戳 来筛选出数据的代码,处理时间我用到了moment这个类库,基本包含了时间所有的处理方法。

总结以下moment的几个常用的函数:

moment().startOf('year');    // set to January 1st, 12:00 am this yearmoment().startOf('month');   // set to the first of this month, 12:00 ammoment().startOf('quarter');  // set to the beginning of the current quarter, 1st day of months, 12:00 ammoment().startOf('week');    // set to the first day of this week, 12:00 ammoment().startOf('isoWeek'); // set to the first day of this week according to ISO 8601, 12:00 ammoment().startOf('day');     // set to 12:00 am todaymoment().startOf('date');     // set to 12:00 am todaymoment().startOf('hour');    // set to now, but with 0 mins, 0 secs, and 0 msmoment().startOf('minute');  // set to now, but with 0 seconds and 0 millisecondsmoment().startOf('second');  // same as moment().milliseconds(0);moment().diff(Moment|String|Number|Date|Array);moment().diff(Moment|String|Number|Date|Array, String);moment().diff(Moment|String|Number|Date|Array, String, Boolean);var a = moment([2008, 9]);var b = moment([2007, 0]);a.diff(b, 'years');       // 1a.diff(b, 'years', true); // 1.75moment().add(Number, String);moment().add(Duration);moment().add(Object);
var moment = require('moment');var starttime = moment(moment.unix(parseInt(req.query.starttime)).toDate());console.log("==============");console.log(moment(moment.unix(parseInt(req.query.starttime)).toDate()));var endtime = moment(moment.unix(parseInt(req.query.endtime)).toDate());console.log(moment(moment.unix(parseInt(req.query.endtime)).toDate()));console.log(endtime.diff(starttime, 'hour'));console.log(endtime.diff(starttime, 'months'));console.log(endtime.diff(starttime, 'months'));if (endtime.diff(starttime, 'hour') <= 24) {    console.log("flowrank1");    flowrank1.find({        ip: req.query.ip,        time: {            $gt: moment.unix(req.query.starttime).toDate(),            $lte: moment.unix(req.query.endtime).toDate()        }    },    {        _id: 0,        ip: 1,        flow: 1,        time: 1    },    function(err, doc) {        if (err) {            console.log("err!!!!!")            console.log(err);            return res.end(JSON.stringify(retcode.operateDbErr));        }        var result = retcode.res_ok;        result.data = doc;        console.log(doc)        res.end(JSON.stringify(result));    })} else if (endtime.diff(starttime, 'months') == 0) {    console.log("flowrank2!!!!");    flowrank2.find({        ip: req.query.ip,        time: {            $gt: moment.unix(req.query.starttime).toDate(),            $lte: moment.unix(req.query.endtime).toDate()        }    },    {        _id: 0,        ip: 1,        flow: 1,        time: 1    },    function(err, doc) {        if (err) {            console.log("err!!!!!")            console.log(err);            return res.end(JSON.stringify(retcode.operateDbErr));        }        var result = retcode.res_ok;        result.data = doc;        console.log(doc)        res.end(JSON.stringify(result));    })} else if (endtime.diff(starttime, 'months') >= 1) {    console.log("in flowrank3");    flowrank3.find({        ip: req.query.ip,        time: {            $gt: moment.unix(req.query.starttime).toDate(),            $lte: moment.unix(req.query.endtime).toDate()        }    },    {        _id: 0,        ip: 1,        flow: 1,        time: 1    },    function(err, doc) {        if (err) {            console.log("err!!!!!")            console.log(err);            return res.end(JSON.stringify(retcode.operateDbErr));        }        var result = retcode.res_ok;        result.data = doc;        console.log(doc)        res.end(JSON.stringify(result));    })} else {    return res.end(JSON.stringify(retcode.res_err));}

以上就是关于“怎么利用moment处理时间戳并计算时间的差值”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: 怎么利用moment处理时间戳并计算时间的差值

本文链接: https://www.lsjlt.com/news/328059.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么利用moment处理时间戳并计算时间的差值
    这篇“怎么利用moment处理时间戳并计算时间的差值”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么利用moment处理时...
    99+
    2023-06-30
  • 如何利用moment处理时间戳并计算时间的差值
    项目使用nodejs写服务端,有个功能就是统计代理服务器流量,然后把统计的数据通过echarts渲染到页面。 当然统计数据这里用到了 定时器,在使用的是 var schedul...
    99+
    2022-11-13
  • vue怎么使用moment处理时间戳转换成日期或时间格式
    本篇内容主要讲解“vue怎么使用moment处理时间戳转换成日期或时间格式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue怎么使用moment处理时间戳转换成日期或时间格式”吧!一、使用环境...
    99+
    2023-06-29
  • php怎么计算两个时间戳的差几天
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php计算两个时间戳的差几天实现思想:将两个时间戳相减,得到时间差将时间差除以一天的总秒数(24*60*60=86400)实现代码:<php header(&qu...
    99+
    2021-06-07
    php 时间戳 时间差
  • Python处理时间戳和时间计算等的脚本分享
    由于实际需要,简要写了个小脚本,并打包生成exe,供无网络环境下使用 脚本1:显示当前时间与时间戳,以及10分钟后的时间与时间戳 # -*- coding: utf-8 -*- "...
    99+
    2022-11-11
  • 怎么用Moment.js计算两个时间差
    今天小编给大家分享一下怎么用Moment.js计算两个时间差的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2022-10-19
  • 利用Java怎么实现计算两个日期的时间差
    本篇文章给大家分享的是有关利用Java怎么实现计算两个日期的时间差,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。具体如下:public static int getMonthD...
    99+
    2023-05-31
    java ava
  • 如何使用批处理bat计算两个时间差
    本篇内容主要讲解“如何使用批处理bat计算两个时间差”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用批处理bat计算两个时间差”吧!这个是脚本代码[保存为etime.bat放在当前路径下即...
    99+
    2023-06-08
  • 怎么在python中使用datime包计算时间差
    这篇文章将为大家详细讲解有关怎么在python中使用datime包计算时间差,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python有哪些常用库python常用的库:1.requesuts...
    99+
    2023-06-14
  • 利用java如何实现计算两个日期的时间差
    今天就跟大家聊聊有关利用java如何实现计算两个日期的时间差,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。java计算两个日期中间的时间其中在数据库中有一个字段为datetime类型...
    99+
    2023-05-31
    java 时间差 ava
  • 怎么在postgresql中计算两个日期的时间差
    在postgresql中计算两个日期时间差的方法:1.启动postgresql服务;2.登录postgresql数据库;3.使用数据库;4.在数据库新建表;5.使用date_part()函数计算时间差;具体步骤如下:首先,在命令行中启动po...
    99+
    2022-10-11
  • PHP怎么处理毫秒级别的时间戳
    今天小编给大家分享一下PHP怎么处理毫秒级别的时间戳的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、什么是时间戳在计算机科...
    99+
    2023-07-05
  • 利用Java如何实现计算两个程序运行的时间差
    这期内容当中小编将会给大家带来有关利用Java如何实现计算两个程序运行的时间差,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、获取系统当前时间long startTime = System.curren...
    99+
    2023-05-31
    java ava 时间差
  • MySQL中时间差函数、日期转换计算函数怎么用
    这篇文章将为大家详细讲解有关MySQL中时间差函数、日期转换计算函数怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. 时间差函数(TIMESTAMPDIFF、DA...
    99+
    2022-10-18
  • Pandas中常用的七个时间戳处理函数是什么
    这篇文章主要介绍“Pandas中常用的七个时间戳处理函数是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Pandas中常用的七个时间戳处理函数是什么”文章能帮助大家解决问题。在零售、经济和金融等...
    99+
    2023-06-30
  • C语言怎么处理学生打分、计算时间、最少硬币问题
    本文小编为大家详细介绍“C语言怎么处理学生打分、计算时间、最少硬币问题”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言怎么处理学生打分、计算时间、最少硬币问题”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。第...
    99+
    2023-06-29
  • 怎么用Python装饰器实现函数运行时间的计算
    这篇文章主要介绍“怎么用Python装饰器实现函数运行时间的计算”,在日常操作中,相信很多人在怎么用Python装饰器实现函数运行时间的计算问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python装饰...
    99+
    2023-06-29
  • 微信小程序在怎么利用wxs对日期时间进行处理
    微信小程序在怎么利用wxs对日期时间进行处理,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、时间戳转日期在wxs中处理日期需要使用getDate(time),而不能使用new...
    99+
    2023-06-20
  • 怎么用批处理实现的删除特定时间以前的文件
    这篇文章给大家分享的是有关怎么用批处理实现的删除特定时间以前的文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用for命令读取dir /tc /o-d /a的结果,可以分成4段,...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作