如何查找2个日期之间的替代日期。 这是我的Jquery代码,它查找日期之间的总小时数。
var strt_date="2016-02-03";
var end_date = "2016-02-08";
strt_date = new Date(strt_date);
end_date = new Date(end_date);
var hours=Math.abs(strt_date - end_date) / 36e5;
console.log(hours);
如何找到这两个日期之间的备用日期
更新:输出看起来像这样 2016年2月3日 2016年2月5日 2016年2月7日 从所选日期开始的2个日期之间的备用日期
答案 0 :(得分:0)
var start = new Date("2016-02-03");
var end = new Date("2016-02-08");
var between = [];
var mil = 86400000 //24h
var init = 0;
for (var i=start.getTime(); i<end.getTime();i=i+mil) {
if(init%2==0) between.push(new Date(i));
//if(init%2==0) between.push(indDate.getFullYear()+"-"+(indDate.getMonth()+1)+"-"+indDate.getDate());
//above condition returns the dates in 'YYYY-MM-DD' format
init++;
}
console.log(between);
<强>输出强>
Wed Feb 03 2016 05:30:00 GMT+0530 (India Standard Time)
Fri Feb 05 2016 05:30:00 GMT+0530 (India Standard Time)
Sun Feb 07 2016 05:30:00 GMT+0530 (India Standard Time)
//this date format can be changed to required one, while you push content to the array
检查上面的代码,所有上面的事情都在这里正常,就像我添加了for
循环以实现数组中的范围,在循环语句下添加条件以仅获得备用天数。< / p>
谢谢&amp;问候
答案 1 :(得分:0)
您可以尝试这样做:
var strt_date="2016-02-03";
var end_date = "2016-02-08";
strt_date = new Date(strt_date);
end_date = new Date(end_date);
var timeDiff = Math.abs(strt_date.getTime() - end_date.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
var alt_date = new Date(strt_date);
alt_date.setDate(strt_date + diffDays/2); //here you have the date between
答案 2 :(得分:0)
为确保您不会在本地时间设置方面遇到任何问题,您需要先将时间设置为午夜。您还可以利用setHours(24)
将日期设置为第二天午夜的事实,而不是使用getTime()并添加86400000毫秒。
var start = new Date("2016-02-03");
var end = new Date("2016-02-08");
start.setHours(24);
end.setHours(0);
var between = [];
while(start.setHours(24) <= end) {
between.push(new Date(start));
}
console.log(between);