Jquery

时间:2016-03-01 18:18:38

标签: javascript jquery

如何查找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个日期之间的备用日期

3 个答案:

答案 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);