js计算日期相差天数

Posted 南侠书生: Follow @tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js计算日期相差天数相关的知识,希望对你有一定的参考价值。

### 最简单的办法是用momentjs http://momentjs.cn/

比如指定日期加30天
moment("2019-02-01").add(30,"days").format("YYYY-MM-DD");

指定日期减6天
moment().subtract(6, "days").format("YYYY-MM-DD")

两个日期相差天数
moment("2019-02-01").diff(moment("2019-01-01"),\'days\');

// 本周 周日 - 周六
let start = moment().startOf(\'week\').format(\'YYYY-MM-DD\'); 
let end = moment().endOf(\'week\').format(\'YYYY-MM-DD\'); 
// 本周 周一 - 周日
从周一开始 moment().startOf(\'week\').add(1, \'day\').format(\'YYYY-MM-DD\'); 
从周日结束moment().endOf(\'week\').add(1, \'day\').format(\'YYYY-MM-DD\'); 
 
// 本月
let start = moment().startOf(\'month\').format(\'YYYY-MM-DD\'); 
let end = moment().endOf(\'month\').format(\'YYYY-MM-DD\'); 
 
// 本年
let start = moment().startOf(\'year\').format(\'YYYY-MM-DD\'); 
let end = moment().endOf(\'year\').format(\'YYYY-MM-DD\'); 

  

###下面是普通js方法:

日期不能直接相加减比较大小,需要转换一下然后计算最后转换成天,当然,你也可以根据同样类似的方法去转换成小时,或者月,年。

function DateDiff(sDate1, sDate2) { //sDate1和sDate2是2017-09-25格式
var aDate, oDate1, oDate2, iDays;
aDate = sDate1.split("-");
oDate1 = new Date(aDate[1] + \'-\' + aDate[2] + \'-\' + aDate[0]); //转换为09-25-2017格式
aDate = sDate2.split("-");
oDate2 = new Date(aDate[1] + \'-\' + aDate[2] + \'-\' + aDate[0]);
iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24); //把相差的毫秒数转换为天数
return iDays;
}

//调用
s1 = "2017-09-25";
s2 = "2017-01-05";
alert(DateDiff(s1,s2));
 
 

以上是关于js计算日期相差天数的主要内容,如果未能解决你的问题,请参考以下文章

js计算日期相差天数

js 怎么计算出 两个日期之间相差多少月 比如:

js 怎么求两个日期相差几个月零几天?

js计算两个月份之间的天数差。

批处理代码(两日期之间相差的天数)怎么写才能数出来

JavaScript计算指定日期与当前日期的相差天数