### 最简单的办法是用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. Texstudio

    Texstudio快捷键:Ctrl+T,选中之后按这个可以快速注释

  2. Typora的图片根目录设置,

    需求:使Typora的图片,设置到指定的文件里. 方便上传与转移. 步骤: 1 位置: 编辑 ->图片工具->设置图片根目录. 2 .Preference -> Editor -&g ...

  3. 团体程序设计天梯赛L2-009 抢红包 2017-03-22 19:18 131人阅读 评论(0) 收藏

    L2-009. 抢红包 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 没有人没抢过红包吧-- 这里给出N个人之间互相发红包.抢 ...

  4. node后台启动

    node启动后会占用当前shell 后台启动方式: 1.用forever进行管理 npm install -g forever forever start index.js   2.使用nohub命令 ...

  5. Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

    环境:linux,mysql5.5.21 错误:Host is blocked because of many connection errors; unblock with 'mysqladmin ...

  6. zookeeper DataTree内存模型介绍及对Znode的四大特性介绍和Stat结构分析

    一. zookeeper的内存模型   1. zookeeper是一个由 znode节点组成的一个树形结构 2. 每个znode都可以做成一个subject...     3. 客户端可以监控每一个节 ...

  7. [LeetCode 题解]:Convert Sorted List to Binary Search Tree

    Given a singly linked list where elements are sorted in ascending order, convert it to a height bala ...

  8. Linux Guard Service - 守护进程的作用、用途、父进程标识的特点

    让test2直接成为守护进程 [root@localhost 02]# cat test2.c //test2 #include<stdio.h> #include<unistd.h ...

  9. Verilog MIPS32 CPU(九)-- 顶层文件

    `timescale 1ns / 1ps /////////////////////////////////////////////////////////////////////////////// ...

  10. EF:无法检查模型兼容性,因为数据库不包含模型元数据。

      Model compatibility cannot be checked because the database does not contain model metadata. Model ...