pdmisch
06-26-2003, 06:58 PM
I am looking for a way to calculate the number of business days between two dates. On a form I have two input boxes that will capture two dates. When the second date is entered, I am using the onblur command to fire my javascript to calculate the difference between the two dates. Now I need a way to eliminate the weekends from my calculation.
here is my code:
<html>
<head>
<style>
input.hidden
{
border-width:0;
color: red;
background: white;
}
</style>
<script>
function get_year(str, str2)
{
var perf_month=str.substr(0,2);
var perf_day=str.substr(2,2);
var perf_year=str.substr(4,4);
var asgn_month=str2.substr(0,2);
var asgn_day=str2.substr(2,2);
var asgn_year=str2.substr(4,4);
calc_dates(perf_year,perf_month,perf_day,asgn_year,asgn_month,asgn_day)
}
function calc_dates(perf_year,perf_month,perf_day,asgn_year,asgn_month,asgn_day)
{
var asign = new Date(asgn_year, asgn_month, asgn_day);
var perform=new Date(perf_year, perf_month, perf_day);
var one_day=(1000*60*60*24);
var days=(Math.floor((perform.getTime()-asign.getTime())/(one_day)));
contractor_penalty(days)
}
function contractor_penalty(days)
{
if (days <= 3)
{
document.paul.me.value="No contractor Penalty"
}
else if (days > 3 && days <= 10)
{
document.paul.me.value="15% Contractor Penalty"
}
else
{
document.paul.me.value="25% Contractor Penalty"
}
}
</script>
</head>
<body>
<form name ="paul">
<table cellspacing="5">
<tr>
<td align="left"><b> Assgined Date:</b></td>
<td align="right"><input type="text" size="10" name="f_dt_asgn" ></td>
<td> </td>
</tr>
<tr>
<td align="left"><b>Performed Date:</b></td>
<td align="right"><input type="text" size="10" name="perf_date" onblur="get_year(this.value, f_dt_asgn.value)"></td>
<td><input class="hidden" type="text" size="30" name="me" readonly tabindex=100000></td>
</tr>
</table>
</form>
</body>
</html>
here is my code:
<html>
<head>
<style>
input.hidden
{
border-width:0;
color: red;
background: white;
}
</style>
<script>
function get_year(str, str2)
{
var perf_month=str.substr(0,2);
var perf_day=str.substr(2,2);
var perf_year=str.substr(4,4);
var asgn_month=str2.substr(0,2);
var asgn_day=str2.substr(2,2);
var asgn_year=str2.substr(4,4);
calc_dates(perf_year,perf_month,perf_day,asgn_year,asgn_month,asgn_day)
}
function calc_dates(perf_year,perf_month,perf_day,asgn_year,asgn_month,asgn_day)
{
var asign = new Date(asgn_year, asgn_month, asgn_day);
var perform=new Date(perf_year, perf_month, perf_day);
var one_day=(1000*60*60*24);
var days=(Math.floor((perform.getTime()-asign.getTime())/(one_day)));
contractor_penalty(days)
}
function contractor_penalty(days)
{
if (days <= 3)
{
document.paul.me.value="No contractor Penalty"
}
else if (days > 3 && days <= 10)
{
document.paul.me.value="15% Contractor Penalty"
}
else
{
document.paul.me.value="25% Contractor Penalty"
}
}
</script>
</head>
<body>
<form name ="paul">
<table cellspacing="5">
<tr>
<td align="left"><b> Assgined Date:</b></td>
<td align="right"><input type="text" size="10" name="f_dt_asgn" ></td>
<td> </td>
</tr>
<tr>
<td align="left"><b>Performed Date:</b></td>
<td align="right"><input type="text" size="10" name="perf_date" onblur="get_year(this.value, f_dt_asgn.value)"></td>
<td><input class="hidden" type="text" size="30" name="me" readonly tabindex=100000></td>
</tr>
</table>
</form>
</body>
</html>