2016-03-01 68 views
0

如何找到2日期之间的替代日期。 这里是我的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); 

如何找到这2个日期

UPDATE之间交替日期:输出这个样子的 2016年2月3日 2016年2月5日 2016年2月7日 备选日期选自日起2个日期之间

+1

你是什么意思的“替代日期”? –

回答

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

OUTPUT

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循环,在循环语句下添加一个条件以获得仅剩的天数。

感谢&问候

-1

你可以尝试做这样的事情:

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 
+0

你的代码不起作用,undefined vars date1和date2 – ameenulla0007

+0

我的错误,修复... –

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