废话不多说直奔主题,解决思路核心是时间戳相减
 灵感来自于我经常用到一个工具方法:格式化时间,也是用时间戳

function GetNumberOfDays(date1,date2){//获得天数
//date1:开始日期,date2结束日期
var a1 = Date.parse(new Date(date1));
var a2 = Date.parse(new Date(date2));
var day = parseInt((a2-a1)/ (1000 * 60 * 60 * 24));//核心:时间戳相减,然后除以天数
return day
}; var a1="12-19-2018";
var a2="2019/1/7";
var b=GetNumberOfDays(a1,a2)
console.log(b);

格式化时间是以前百度回来的,现在顺便拿出来给大家看看借花献佛:

/*
该方法有效防止后台传数据格式发生变化例如:10-19-2017《==》2017/10/19
思路:后台的时间日期==》时间戳==》标准的时间日期
y=年,m=月,d=天,h=时,u=分,s=秒
*/
//标准日期时间
function DateFormat(dateTime){//格式化时间
var dateParse = Date.parse(new Date(dateTime));//转成时间戳
var time = new Date(dateParse);//再转成标准时间
var y = String(time.getFullYear());
var m = String(time.getMonth()+1);
var d = String(time.getDate());
var h = String(time.getHours());
var u = String(time.getMinutes());
var s = String(time.getSeconds());
return {y,m,d,h,u,s}
//return m+"/"+d//直接输入自己想要的格式
}
var a="2017/12/31 23:12:54";
console.log(DateFormat(a));

根据当天获取某一天(分享点自己收藏的干货):

function GetDay(day){
function doHandleMonth(month){
  var m = month;
  if(month.toString().length == 1){
    m = "0" + month;
  }
  return m;
};
var today = new Date();
var targetday_milliseconds=today.getTime() + 1000*60*60*24*day;
today.setTime(targetday_milliseconds); //注意,这行是关键代码
var tYear = today.getFullYear();
var tMonth = today.getMonth();
var tDate = today.getDate();
tMonth = doHandleMonth(tMonth + 1);
tDate = doHandleMonth(tDate);
return tYear+"-"+tMonth+"-"+tDate;
};
console.log(getDay(0))//当天
console.log(getDay(-7))//7天前
console.log(getDay(7))//7天后

JS日期相减得到天数的更多相关文章

  1. JS日期加减指定天数

    JS中没有直接操作日期加减的方法,只能通过Date对象获取当前天数加减之后setDate,以此来达到操作日期的目的 JS中对指定日期加减指定天数,具体方法如下: function addDate(da ...

  2. java得到日期相减的天数

    /** * <li>功能描述:时间相减得到天数 * @param beginDateStr * @param endDateStr * @return * long * @author A ...

  3. My97DaePicker 用js实现文本框日期相减求天数

    <tr>                <td align="center" style="background-color: #cccccc;font ...

  4. JS 计算日期相减得天数

    言简意赅不呼哨直接懂,可以封装的可以根据自己的需求封装一下 var date1="2020-10-23";var date2="2020-10-26";var ...

  5. js日期相减得到分钟数

    const date1 = new Date(fieldsValue.examStartTime); const date2 = new Date(fieldsValue.examEndTime); ...

  6. MySQL (时间)日期相减取天数

    select TO_DAYS(str_to_date('12/1/2001 12:00:00 AM','%m/%d/%Y')) -TO_DAYS(str_to_date('11/28/2001 12: ...

  7. 关于js的当前日期的格式化,和两个日期之间的相减的天数

    function getFormatYMD(timesamp){ var date = new Date(timesamp); Y = date.getFullYear() + '-'; M = (d ...

  8. JS两日期相减

    JS两日期相减,主要用到下面两个方法 dateObject.setFullYear(year,month,day) 方法 stringObject.split(separator) 方法 functi ...

  9. C#-和时间有关的计算代码、时间相减 得到天数、小时、分钟、秒差

    asp.net(C#)时间相减 得到天数.小时.分钟.秒差   asp.net(C#)时间相减 得到天数.小时.分钟.秒差   DateTime dtone = Convert.ToDateTime( ...

随机推荐

  1. 记一次Struts2 内核问题分析解决

    问题场景描述 生产环境某个处理耗时比较长的接口,吞吐能力极差.客服反馈此功能长期处于毫无响应状态. 具体表现 系统启动后第一次调用耗时极慢,长时间不响应.紧随之后发起的请求也同时没有响应. 等待第一次 ...

  2. docker构建镜像

    Docker 提供了两种构建镜像的方法: docker commit 命令Dockerfile 构建文件 示例: Dockerfile FROM golang:1.7.5 #基础镜像 RUN apt- ...

  3. [AI]SKLearn章1 快速入门

    SciKit learn的简称是SKlearn,是一个python库,专门用于机器学习的模块. SKlearn包含的机器学习方式: 分类,回归,无监督,数据降维,数据预处理等等,包含了常见的大部分机器 ...

  4. gitlab 修改root密码

    [root@svr34 bin]# gitlab-rails console production Loading production environment (Rails 4.2.5.2) irb ...

  5. Springboot & Mybatis 构建restful 服务三

    Springboot & Mybatis 构建restful 服务三 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务二 2 restful ...

  6. 移动端比较好用的滑动条 vue-slider-component

    安装: npm install vue-slider-component <template> <div> <vue-slider v-model="value ...

  7. 小白的CTF学习之路5——内存的逻辑结构

    很衰的一天,各种意料之外的问题,但都挡不住我每日一更的步伐 内存的逻辑结构大致分为以下几种: 数组 栈与队列 链表 二叉树 以上,数组,栈,链表是我这章要说明的 在学习前需要了解的两个问题: 1.内存 ...

  8. go基本使用方法

    一,变量 var:声明变: var 变量名  数据类型 :同时还需要指定数据的类型 var 变量名 = 值  : 声明变量,根据变量值判断变量类型 :=   :省略var,直接可以(变量名:= 值), ...

  9. #pragma常用预处理指令

    #pragma pack(1):1字节对齐#pragma once:指定头文件被编译一次#pragma message("message"):编译时输出message文本#prag ...

  10. linux下PythonQt混编记录

    看了很多博主经验,然后自己实验总结出来的,就不一一写出处了,非常感谢各位博主的分享经验. 一.安装Python3.6 安装依赖环境 # yum -y install zlib-devel bzip2- ...