之間我已經包含在我的js給代碼文件不要指望給定節假日或週末兩個日期
$('.dateDisable').change(function() {
calculateDays();
});
function calculateDays() {
var first = new Date($('#start_date').val()),
last = new Date($('#end_date').val()),
daysDiff = leaveCalculation(first,last);
}
function leaveCalculation(d1, d2) {
alert(gon.holiday) // 2015-08-28,2015-09-25,2016-08-31,2016-08-07,2015-08-13,2016-08-29,2016-01-07,2015-09-08
var weeks, dateDiff, weekDay1, weekDay2;
if (d2 < d1) return -1;
weekDay1 = d1.getDay(),
weekDay2 = d2.getDay();
weeks = Math.floor((d2.getTime() - d1.getTime())/604800000);
if (weekDay1 <= weekDay2)
dateDiff = (weeks * 5) + (weekDay2 - weekDay1);
else
dateDiff = ((weeks + 1) * 5) - (weekDay1 - weekDay2);
return (dateDiff + 1);
}
我想計算天。
如果我選擇日期「2015年8月27日」 - 「2015年8月31日」 它會計算daysDiff = 3,但我要拿出daysDiff彷彿有假期的28-08- 2015年,因爲我在gon.holiday
提取假日禁用日期。 在我的情況下,這將是
2015-08-28,2015-09-25,2016-08-31,2016-08-07,2015-08-13,2016-08-29,2016 -01-07,2015-09-08
所以,如果我選擇了日期 「2015年8月27日」 - 「2015年8月31日」,那麼它會給我daysDiff爲2,因爲28, 29,30已經是假期了。我想排除週末也
我該怎麼做?
gon.holiday是一個數組還是一個普通的字符串? – Jaay
@dinshaw raje:什麼是** dDate2 **和** dDate1 **?順便說一句,你可以通過使用循環與假期進行比較http://stackoverflow.com/questions/4428327/checking-if-two-dates-have-the-same-date-info,然後從** diffDays **中扣除它們 –
它不是一個數組它取自己這個2015-08-28,2015-09-25,2016-08-31,2016-08-07,2015-08-13,2016-08-29,2016-01- 07,2015-09-08 – railslearner