Javascript 计算从API提取的日期与今天之间的天数差

Javascript 计算从API提取的日期与今天之间的天数差,javascript,jquery,Javascript,Jquery,我目前正试图找出如何计算从API中提取的日期与今天的日期之间的天数差 这是我用来以与API中的日期匹配的格式获取今天日期的代码: var today = new Date(); var dd = String(today.getDate()).padStart(2, '0'); var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0! var yyyy = today.getFullYear(); today

我目前正试图找出如何计算从API中提取的日期与今天的日期之间的天数差

这是我用来以与API中的日期匹配的格式获取今天日期的代码:

var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
var yyyy = today.getFullYear();

today = dd + '/' + mm + '/' + yyyy;
这个细枝代码将API的日期拉过

{{ job.date }}
我需要努力去做的是

today - {{ job.date }} = Difference in Days
我已经浏览了这里的文章,但我很难找到一篇我能理解的文章

这可以用小树枝做吗


如果有人能帮我把这个片段拼凑起来,我将不胜感激。

你可以这样做

function countDays(firstDate, secondDate) {

    var startDay = new Date(firstDate);
    var endDay = new Date(secondDate);
    var millisecondsPerDay = 1000 * 60 * 60 * 24;

    var millisBetween = startDay.getTime() - endDay.getTime();
    var days = millisBetween / millisecondsPerDay;

    // Round down.
    alert(Math.floor(days));

}
如果您的api日期为“2018年10月6日”,格式为“dd/mm/yy”,则

let date = "06/10/18";
let values = date.split("/");
date = new Date("20"+values[2],values[1]-1,values[0]);//months are from  0 to 11
let currDate = new Date();
let diff = currDate.getTime() - date.getTime();
diff = diff/1000; // seconds
diff = diff/60; // minutes
diff = diff/60; // hours
diff = diff/24; //days

let days = Math.round(diff);

借助post的jQuery方法

//拆分
var todayArr=('11/03/2019')。拆分('/');
var startDateArr=('10/03/2019')。拆分('/');
//更改格式
var todayArr=`${todayArr[2]}-${todayArr[1]}-${todayArr[0]}`
var startDate=`${startDateArr[2]}-${startDateArr[1]}-${startDateArr[0]}`
//算计
var diff=新日期(Date.parse(今天)-Date.parse(startDate));
var天数=差异/1000/60/60/24;
控制台日志(天)

如果从这两个对象创建
Date
对象,则可以减去它们以毫秒为单位获得差值。现在除以
24*3600*1000
,得到天数。@ChrisG:你可能还应该把答案四舍五入,以处理夏季/夏令时的微妙之处。你应该
四舍五入
,而不是
地板
(或
天花板
),当你尝试2019-03-11和2019-03-10时可以看到这一点。夏令时/夏令时会给你带来麻烦。谢谢@ScottSauyet的建议,你可以在此基础上添加一个
回合
,以在夏令时/夏令时面前获得一致的答案。还要注意的是,
millisBetween=startDay-endDay
将为您提供与在每个节点上调用
getTime()
相同的结果。