Javascript 计算从API提取的日期与今天之间的天数差
我目前正试图找出如何计算从API中提取的日期与今天的日期之间的天数差 这是我用来以与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
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()
相同的结果。