### 最简单的办法是用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计算日期相差天数的更多相关文章

  1. js计算日期相差的天数

    在网站开发中,经常会遇到计算日期相差的天数,js 没有提供相应的方法,所以自己写一个,方便将来查看: 代码: function DateDiff(sDate1, sDate2, splitStr) { ...

  2. js 获得日期相差天数

    function getDays(strDateStart,strDateEnd){               var strSeparator = "-"; //日期分隔符   ...

  3. JS计算日期加天数后的日期(起始日期+有效天数=截至日期)

    /** * 优惠券有效期 * startDate:起始日期 * valueTime:有效天数 */ function transferCouponValueTime(startDate,valueTi ...

  4. 第二周PTA笔记 均等笔+旋转骰子+两个日期相差天数

    均等笔 n个人围成一圈,每人有ai支笔.每人可以向左右相邻的人传递笔,每人每次传递一支笔消耗的能量为1.求使所有人获得均等数量的笔的最小能量. 输入格式: 第一行一个整数n ,表示人的个数(30%的数 ...

  5. Js计算时间差,天数,小时数,余数

    var begintime_ms = Date.parse(new Date(begintime.replace(/-/g, "/"))); //begintime 为开始时间 v ...

  6. 使用javascript比较任意两个日期相差天数(代码)

    avascript比较两个日期相差天数,可返回负值,表示后者大于前者. 该函数在IE,firefox下均通过测试. /** 比较两个日期相差的天数,可为负值 **/ function DateDiff ...

  7. js计算两个日期相差天数

    //两个时间相差天数 兼容firefox chrome var days = function(startDate) { var sdate = new Date(startDate.replace( ...

  8. java日期在今天的基础上加一个月。并计算时间相差天数

    Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(Calendar.MONTH, 1); ...

  9. LocalDate计算两个日期相差天数

    import org.apache.commons.lang.StringUtils; import java.time.LocalDate; import java.time.ZoneId; imp ...

随机推荐

  1. Linux-shell-算术运算{expr、bc、dc、(( ))和[ ]}

    Linux-shell-算术运算{expr.bc.dc.(( ))和[ ]} 摘自: https://www.cnblogs.com/snowsolf/p/3325235.html 在Linux下做算 ...

  2. Smarty简介

    Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一.它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离. ...

  3. 并查集 - 1611 The Suspects

    题目地址: http://poj.org/problem?id=1611 分析: - 数据结构 - parent[x] 表示 x 元素的父节点位置. - rank[x] 记录x的子链的长度, 以便在合 ...

  4. java.lang.ClassCastException: com.liuyang.annocation.UserAction cannot be cast to com.liuyang.annocation2.UserAction at com.liuyang.annocation2.App.test

    java.lang.ClassCastException: com.liuyang.annocation.UserAction cannot be cast to com.liuyang.annoca ...

  5. JS 观察者模式

    Events = function() { var listen, log, obj, one, remove, trigger, __this; obj = {}; __this = this; l ...

  6. iOS开发--使用lipo命令制作模拟器与真机通用静态库

    通常在项目中使用静态库的时候都会有两个版本,一个用于模拟器,一个用于真机,因为Mac和iPhone的CPU不同,才造成了这种情况. 为了模拟器与真机之间切换调试的方便,制作通用版本非常有必要. 现在有 ...

  7. Oracle SQl优化总结

    对数据库技术的热爱是我唯一的安慰,毕竟这是自己喜欢的事情,还可以做下去. 因为客户项目的需要,我又开始接触Oracle,大部分工作在工作流的优化和业务数据的排查上.为了更好的做这份工作,我有参考过or ...

  8. NOIP提高组题目归类+题解摘要(2008-2017)

    因为前几天作死立了一个flag说要把NOIP近十年的题目做一做,并写一个题目归类+题解摘要出来,所以这几天就好好的(然而还是颓废了好久)写了一些这些往年的NOIP题目. 这篇博客有什么: 近十年NOI ...

  9. 理解图像Garbor和HOG特征的提取方法及实例应用

    前言:今天接触到了这两个特征,看了课本和博客后很蒙蔽,没有理解这两个特征,本篇博客的目的是只是参考其他的博客总结这两个特征,如果未来能研究和工作领域是这方面的话再回来自己研学,如有错误也欢迎指出. G ...

  10. Mysql内置功能《二》触发器

    使用触发器可以定制用户对表进行[增.删.改]操作时前后的行为,注意:没有查询 一 创建触发器 # 插入前 CREATE TRIGGER tri_before_insert_tb1 BEFORE INS ...