nodejs计算时间间隔_Javascript计算时间差的函数分享

核心代码

/*

* 获得时间差,时间格式为 年-月-日 小时:分钟:秒 或者 年/月/日 小时:分钟:秒

* 其中,年月日为全格式,例如 : 2010-10-12 01:00:00

* 返回精度为:秒,分,小时,天

*/

function GetDateDiff(startTime, endTime, diffType) {

//将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式

startTime = startTime.replace(/\-/g, "/");

endTime = endTime.replace(/\-/g, "/");

//将计算间隔类性字符转换为小写

diffType = diffType.toLowerCase();

var sTime = new Date(startTime); //开始时间

var eTime = new Date(endTime); //结束时间

//作为除数的数字

var divNum = 1;

switch (diffType) {

case "second":

divNum = 1000;

break;

case "minute":

divNum = 1000 * 60;

break;

case "hour":

divNum = 1000 * 3600;

break;

case "day":

divNum = 1000 * 3600 * 24;

break;

default:

break;

}

return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(divNum));

}

调用方法也很简单:

GetDateDiff("2010-10-11 00:00:00", "2010-10-11 00:01:40", "day")

这个是计算天数

GetDateDiff("2010-10-11 00:00:00", "2010-10-11 00:01:40", "seond")是计算秒数

下面脚本之家小编再为大家分析一个不错的

alert(dealDate("2018-01-20","2018-01-28"));

//提示前面的日期小于后面的日期

function dealDate(date1,date2){

date1 = new Date(date1);//如果传进来的是"yyyy-MM-dd"形式的字符串

date2 = new Date(date2);

var year1 = date1.getFullYear();

var month1 = date1.getMonth()+1;

var day1 = date1.getDate();

var dateMax1 = new Date(year1,month1,0);

var dayMax1 = dateMax1.getDate();

var year2 = date2.getFullYear();

var month2 = date2.getMonth()+1;

var day2 = date2.getDate();

var dateMax2 = new Date(year2,month2,0);

var dayMax2 = dateMax2.getDate();

if(day1==dayMax1&&day2==dayMax2){

//开始日期和结束日期都是月底

//直接计算月份差,推算几年几个月

var res = (year2-year1)*12+(month2-month1);//月份差

var difYear = Math.floor(res/12);

var difMonth = res%12;

return ((difYear!=0)?(difYear+"年"):"")+difMonth+"个月";

}else if(day1==dayMax1&&day2

//开始日期是月底,结束日期不是

//计算开始日期到结束日期上一个月的月底,再加上结束日期的天数

var month3 = month2-1;

var res = (year2-year1)*12+(month3-month1);//月份差

var difYear = Math.floor(res/12);

var difMonth = res%12;

var difDay = day2;

return ((difYear!=0)?(difYear+"年"):"")+((difMonth!=0)?(difMonth+"个月"):"")+difDay+"天";

}else if(day1

//开始日期和结束日期都不是月底

//情况1,day1

if(day1<=day2){

var res = (year2-year1)*12+(month2-month1);//月份差

var difYear = Math.floor(res/12);

var difMonth = res%12;

var difDay = day2-day1;

return ((difYear!=0)?(difYear+"年"):"")+((difMonth!=0)?(difMonth+"个月"):"")+difDay+"天";

}else{

var month3 = month2-1;

var res = (year2-year1)*12+(month3-month1);//月份差

var difYear = Math.floor(res/12);

var difMonth = res%12;

var difDayTemp = day1-day2;

var dateMax3 = new Date(year2,month3,0);

var dayMax3 = dateMax3.getDate();

var difDay = dayMax3-difDayTemp;

return ((difYear!=0)?(difYear+"年"):"")+((difMonth!=0)?(difMonth+"个月"):"")+difDay+"天";

}

}

}

运行测试返回天数的,大家可以根据需要参考上面的代码修改即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396270.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jQuery实现鼠标划过展示大图的方法

这篇文章主要介绍了jQuery实现鼠标划过展示大图的方法,实例分析了jQuery操作鼠标事件及图片处理的技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了jQuery实现鼠标划过展示大图的方法。分享给大家供大家参考。具体如下&#xff1a; 这里用css和jquery实现鼠标移…

精通java益处_你真的精通Java吗?

简历和自我介绍上经常能够读到“精通Java”这样的话&#xff0c;有人和我说&#xff0c;精通Java的人太多了&#xff0c;精通Java已经不能算亮点、不能给自己加分了。可是事实真是这样吗&#xff1f;对于语言的学习&#xff0c;我有一种观点&#xff0c;一是纵向&#xff0c;即…

Luogu P2101 命运石之门的选择(分治+搜索)

P2101 命运石之门的选择 题意 题目描述 在某一条不知名世界线的冈伦今天突然接到了一条\(dmail\)&#xff0c;上面说世界线将会发生巨大变动&#xff0c;未来的他无论如何都无法扭转这种变动回到原来的世界线。而世界线变动的原因是现在的他不久后错过了与助手的约会。他约好要…

Java初级笔记-第五章

第五章 面向对象的特点 5.1 继承 面向对象的重要特点之一就是继承。类的继承使得能够在已有的类的基础上构造新的类&#xff0c;新类除了具有被继承类的属性和方法外&#xff0c;还可以根据需要添加新的属性和方法。继承有利于代码的复用&#xff0c;通过继承可以更有效地组织程…

取模运算性质_求余、取模运算在RTOS中计算优先级的理解

uCOS3中的部分源码&#xff1a;/* 置位优先级表中相应的位 */void OS_PrioInsert (OS_PRIO prio){CPU_DATA bit;CPU_DATA bit_nbr;OS_PRIO ix;/* 求模操作&#xff0c;获取优先级表数组的下标索引 */ix prio / DEF_INT_CPU_NBR_BITS;//32bits//由于数据均为无符号数,prio为8位…

归结原则_被聘为自由职业者归结为一件事:信任。

归结原则by I quit Medium我退出Medium 被聘为自由职业者归结为一件事&#xff1a;信任。 (Getting hired as a freelancer comes down to one thing: trust.) When I ask freelancers what they think is the most important factor in landing a client project, they usual…

关于JS的传递方式的小理解

var test function() {//将其看成是创建了一个对象alert(1);}var otherTest test;//赋值导致test和otherTest指向同一个对象otherTest();test.sd 9;//对对象进行操作&#xff0c;两者都发生改变alert(otherTest.sd);//9var test function() {//test重新创建了一个对象&…

java p代表哪种数据类型_java数据类型(八种基本数据类型+三种引用类型)

1、整型类型 占用字节 取值范围byte 1 -128~127 (7次方)short 2 -32 768~32 767 (15次方)int …

python中的随机函数

python--随机函数&#xff08;random,uniform,randint,randrange,shuffle,sample&#xff09; 本文转载自:[chamie] random() random()方法&#xff1a;返回随机生成的一个实数&#xff0c;它在[0,1)范围内 运用random()方法的语法&#xff1a; import random #random()方法不…

Setuptool+pip安装

https://pypi.python.org/pypi/setuptools 1. 下载ez_setup.py文件&#xff0c;cmd进入安装目录&#xff1b; 2. python setup.py install https://pip.pypa.io/en/latest/index.html 1、cmd进入ez_setup.py文件目录2、用setuptools安装&#xff1a;easy_install pip转载于:htt…

rss 阅读源_如何使用RSS更有效地阅读

rss 阅读源by Naman Kamra通过纳曼卡姆拉(Naman Kamra) 如何使用RSS更有效地阅读 (How to read more efficiently with RSS) Rich Site Summary (RSS) was developed way back in 1999 as a way to quickly subscribe to blogs and newspapers, back before tools like Twitte…

python 遍历usb设备_python程序员教你写脚本玩微信跳一跳,只要有耐心,你就是王者!...

温馨提示&#xff1a;微信已经开始检测分数异常高的情况了&#xff0c;请大家不要跑太高哦游戏模式这是一个 2.5D 插画风格的益智游戏&#xff0c;玩家可以通过按压屏幕时间的长短来控制这个「小人」跳跃的距离。可能刚开始上手的时候&#xff0c;因为时间距离之间的关系把握不…

一个电脑同时运行 64bit 和 32bit 的eclipse 如何匹配 jdk环境

一个电脑同时运行 64bit 和 32bit 的 eclipse 如何匹配 jdk环境 1 eclipse 分 64bit 和 32bit 两种. 64bit的eclipse 只能搭配 64bit的 jdk 使用. 32bit的eclipse 只能搭配 32bit的 jdk 使用. 2 电脑上安装好 32bit 和 64bit 的 jdk ,分别安装在不同的路径中. 比如我的3…

基本数据类型(dict)

目录: 1.字典的简单介绍 2.字典增删改查和其他操作 3.字典的嵌套 一.字典的简单介绍 字典(dict)是python中唯一的一个映射类型,他是以{}括起来的键值对组成,在dict中key是唯一的,在保存的时候,根据key类计算出一个地址然后将key-value保存在这个地址中这种算法被称作hash算法,所…

自学成才翁_仅因为您是自学成才,并不意味着您必须独自学习。

自学成才翁by Piotr Bakker皮特巴克(Piotr Bakker) 仅因为您是自学成才&#xff0c;并不意味着您必须独自学习。 (Just because you’re self-taught doesn’t mean you have to learn alone.) I am a self-taught designer with no formal training. No art school, no priva…

java 近似值 循环次数,java题求解

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼public class PAI{public static void main(String[] args){int n 700;//Hello World! pai 3.1401640828900845(n 700)System.out.println("Hello World! pai " getPAI(n));//Hello World! pai 3.1430191863875865…

jq匹配偶数行_jquery怎么实现奇偶行不同背景颜色?

做表格的时候&#xff0c;经常要让奇偶行显示不同背景色&#xff0c;一来使表格显得更美观&#xff0c;二来使同行数据查找更快捷方便。通常我们是怎么实现的呢&#xff1f;就是在每个tr标签上加css样式。代码如下所示&#xff1a;.odd {background-color:yellow;}.even {backg…

2016/4/19 ①单个文件上传 ②上传图片后 预览图片

1&#xff0c;f1.php <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Document</title> </head> <body> <!-- 作业:在网上找上传图片预览的代码 上传服务器 再预览--> <fo…

Android项目里集成Cordova详解

2019独角兽企业重金招聘Python工程师标准>>> 一 安装nodejs二 cmd创建Android项目三 导入工程 运行一下四 调用插件五 Android studio环境下将CordovaLib作为依赖导入六 自定义插件七 java类中的一些问题八 在CordovaActivity中添加原生View组件 九 在Fragment里使用…