<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<title>假日?算</title>
<script language="javascript">
//假日表
var holidays = new Array();
holidays[holidays.length] = new Date("2009/10/06");
holidays[holidays.length] = new Date("2009/10/10");
function getWorkDays(){
var dd = document.getElementById("days");
var startDate=document.getElementById("dateFrom").value;
var obj= new Array(); //定?一??
var obj= startDate.split("-");
var startDate1=obj[0]+"/"+obj[1]+"/"+obj[2];
var endDate =document.getElementById("dateTo").value;
var objEnd= new Array(); //定?一??
var objEnd = endDate.split("-");
var endDate1=objEnd[0]+"/"+objEnd[1]+"/"+objEnd[2];
dd.value=calculateWorkDays(startDate1,endDate1,holidays);
}
function calculateWorkDays(fromStr, toStr,holidayArray){
var from = new Date();
var to = new Date();
var fromTime = Date.parse(fromStr);
var toTime = Date.parse(toStr);
from.setTime(fromTime);
from.setHours(0);
from.setMinutes(0);
from.setSeconds(0);
var orgTime = from.getTime();
to.setTime(toTime);
to.setHours(0);
to.setMinutes(0);
to.setSeconds(0);
if(from.getTime() > to.getTime()){
return 0;
}
//把起始日都修正到星期六 javascript的星期?0?始,所以+1??理
var sDayofWeek = from.getDay()+1;
var workdays=0;
if(sDayofWeek > 1 && sDayofWeek < 7)
{
from.setDate(from.getDate()-(sDayofWeek%7));
workdays-=((sDayofWeek-2)>0)?sDayofWeek-2:0;
}
//?算??日期之?的天?
var totalDays = (to.getTime()-from.getTime())/(1000*60*60*24)+1;
workdays+=Math.floor(totalDays/7)*5;
//修正最后剩余天?
if((totalDays%7-2)>0){
workdays+=(totalDays%7-2);
}
if(holidayArray!=null){
for(var i=0;i<holidayArray.length;i++){
if(holidayArray[i].getTime()>orgTime && holidayArray[i].getTime()<to.getTime()){
if(holidayArray[i].getDay()>0 && holidayArray[i].getDay()<6){
workdays--;
}
}
}
}
return workdays;
}
</script>
</head>
<body>
<form>
?<input type="text" id="dateFrom" name="fromDate" value="2009-08-06" size="10">
到<input type="text" id="dateTo" name="toDate" value="2009-08-07" size="10">
有<input type="text" id="days" name="days" value="" size="5">?工作日
<input type="button" name="BT" value="?算工作日" onclick="getWorkDays()">
</form>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<title>假日?算</title>
<script language="javascript">
//假日表
var holidays = new Array();
holidays[holidays.length] = new Date("2009/10/06");
holidays[holidays.length] = new Date("2009/10/10");
function getWorkDays(){
var dd = document.getElementById("days");
var startDate=document.getElementById("dateFrom").value;
var obj= new Array(); //定?一??
var obj= startDate.split("-");
var startDate1=obj[0]+"/"+obj[1]+"/"+obj[2];
var endDate =document.getElementById("dateTo").value;
var objEnd= new Array(); //定?一??
var objEnd = endDate.split("-");
var endDate1=objEnd[0]+"/"+objEnd[1]+"/"+objEnd[2];
dd.value=calculateWorkDays(startDate1,endDate1,holidays);
}
function calculateWorkDays(fromStr, toStr,holidayArray){
var from = new Date();
var to = new Date();
var fromTime = Date.parse(fromStr);
var toTime = Date.parse(toStr);
from.setTime(fromTime);
from.setHours(0);
from.setMinutes(0);
from.setSeconds(0);
var orgTime = from.getTime();
to.setTime(toTime);
to.setHours(0);
to.setMinutes(0);
to.setSeconds(0);
if(from.getTime() > to.getTime()){
return 0;
}
//把起始日都修正到星期六 javascript的星期?0?始,所以+1??理
var sDayofWeek = from.getDay()+1;
var workdays=0;
if(sDayofWeek > 1 && sDayofWeek < 7)
{
from.setDate(from.getDate()-(sDayofWeek%7));
workdays-=((sDayofWeek-2)>0)?sDayofWeek-2:0;
}
//?算??日期之?的天?
var totalDays = (to.getTime()-from.getTime())/(1000*60*60*24)+1;
workdays+=Math.floor(totalDays/7)*5;
//修正最后剩余天?
if((totalDays%7-2)>0){
workdays+=(totalDays%7-2);
}
if(holidayArray!=null){
for(var i=0;i<holidayArray.length;i++){
if(holidayArray[i].getTime()>orgTime && holidayArray[i].getTime()<to.getTime()){
if(holidayArray[i].getDay()>0 && holidayArray[i].getDay()<6){
workdays--;
}
}
}
}
return workdays;
}
</script>
</head>
<body>
<form>
?<input type="text" id="dateFrom" name="fromDate" value="2009-08-06" size="10">
到<input type="text" id="dateTo" name="toDate" value="2009-08-07" size="10">
有<input type="text" id="days" name="days" value="" size="5">?工作日
<input type="button" name="BT" value="?算工作日" onclick="getWorkDays()">
</form>
</body>
</html>