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

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. net_device 内核中是如何组织的

    下边函数实现将新的 net_device 设备插入到内核链表中工作 /* * Device list insertion */ static void list_netdevice(struct ne ...

  2. buffer IO和direct IO

    最近在看很多框架,redis,kafka等底层都涉及到文件IO操作的效率问题,所以查了些资料,看到这篇文章讲的比较明白些,贴出来留存. 链接地址: https://www.ibm.com/develo ...

  3. 博客1--tensorflow的图像基本处理操作

    话不多,具体内容在开源中国里我的博客:https://my.oschina.net/u/3770644 代码: #!/usr/bin/env python# -*- coding:utf-8 -*-# ...

  4. 【JAVA】学习笔记(2)

    Java完整的类的定义 [pubilc][abstact|final] class className [extends superclassName] [implements InterfaceNa ...

  5. ArrayList增加扩容问题 源码分析

    public class ArrayList<E>{ private static final int DEFAULT_CAPACITY = 10;//默认的容量是10 private s ...

  6. appium:运行脚本时,报404的解决办法

    对于报404的错,不要怀疑,在环境正常的情况下,一定是你的端口被占用了. 就用:查看端口:netstat -aon|findstr 5037 查看进程:tasklist /fi "PID e ...

  7. ORACLE 快速刷新物化视图的方法(11g)

    1.on demand:用户需要刷新的时候刷新,这里就要求用户自己动手去刷新数据了(也可以使用job定时刷新) refresh [fast|complete|force] 视图刷新的方式: compl ...

  8. JVM中的堆和栈

    基本概念: 基本数据类型:byte   short   int   long  char  float  double  boolean 引用数据类型:类类型.接口类型和数组 栈内存: 程序在栈内存中 ...

  9. BAT:文件中替换字符(保留空格和换行)

    @echo off rem CMD:"color --help" :: setting color:back white,content blue color f9 ::old s ...

  10. 个人对于angularjs依赖注入的理解

    依赖注入(Dependency Injection,DI),作者认为本文中所有名词性的"依赖" 都可以理解为 "需要使用的资源". 对象或者函数只有以下3种获取 ...