我选择了两个日期。
FROM日期:MM / DD / YY
TODATE:MM / DD / YY,
所以我想要排除周末的功能,所以我尝试了这个......
function onblur(event){
GetDaysBetweenDates();
}
function GetDaysBetweenDates(){
if(document.getElementById('datepicker3').value != ""){
var fromDate = new Date(document.getElementById('datepicker2').value);
var toDate = new Date(document.getElementById('datepicker3').value);
var timeDiff = Math.abs(toDate.getTime() - fromDate.getTime());
var days = Math.ceil(timeDiff / (1000 * 3600 * 24));
if(days){
// Subtract two weekend days for every week in between
var weeks = Math.floor(days / 7);
days = days - (weeks * 2);
// Handle special cases
var startDay = fromDate.getDay();
var endDay = toDate.getDay();
// Remove weekend not previously removed.
if (startDay - endDay > 1)
days = days - 2;
// Remove start day if span starts on Sunday but ends before Saturday
if (startDay == 0 && endDay != 6)
days = days - 1;
// Remove end day if span ends on Saturday but starts after Sunday
if (endDay == 6 && startDay != 0)
days = days - 1;
}
$("#txtno_of_leaves").val(diffDays);
}
}
但是这个没有用..
答案 0 :(得分:1)
试试这个
function workingDaysBetweenDates(startDate, endDate, getWorkingDays) {
startDate = new Date(startDate);
endDate = new Date(endDate);
// Validate input
if (endDate < startDate)
return 0;
// Calculate days between dates
var millisecondsPerDay = 86400 * 1000; // Day in milliseconds
startDate.setHours(0,0,0,1); // Start just after midnight
endDate.setHours(23,59,59,999); // End just before midnight
var diff = endDate - startDate; // Milliseconds between datetime objects
var days = Math.ceil(diff / millisecondsPerDay);
if(getWorkingDays){
// Subtract two weekend days for every week in between
var weeks = Math.floor(days / 7);
days = days - (weeks * 2);
// Handle special cases
var startDay = startDate.getDay();
var endDay = endDate.getDay();
// Remove weekend not previously removed.
if (startDay - endDay > 1)
days = days - 2;
// Remove start day if span starts on Sunday but ends before Saturday
if (startDay == 0 && endDay != 6)
days = days - 1;
// Remove end day if span ends on Saturday but starts after Sunday
if (endDay == 6 && startDay != 0)
days = days - 1;
}
return days;
}
workingDaysBetweenDates(start_date, end_date, true);
以下是工作小提琴:http://jsfiddle.net/kailashyadav/YXTX3/
日期格式需要为以下格式之一:04/24/2014
或2014-04-24