The Date Format Shoule be in dd/MM/yyyy or dd-MM-yyyy as i'm taking the positon here u can call this function on text 'onchange' event or u can call explicity on button click txtFromDate is the Control of Textbox id txtToDate is the Control of ToDate and i'm Diplaying total Leave Days in a label and this function Excludes Saturday(s) and Sunday(s) If u want to Calculate Saturday and Sunday Just Remove 'for' Loop from the both conditions.
function CalcLeaveDays() { var FromDate=document.getElementById("txtFromDate"); var ToDate=document.getElementById("txtToDate"); document.getElementById("ctl00_ContentPlaceHolder1_lblAppliedLeave").innerHTML=""; // var weekday=new Array(7); weekday[0]="Sunday"; weekday[1]="Monday"; weekday[2]="Tuesday"; weekday[3]="Wednesday"; weekday[4]="Thursday"; weekday[5]="Friday"; weekday[6]="Saturday"; // var FrmDate=FromDate.value.substring(0,2); var FrmMonth=FromDate.value.substring(3,5); var FrmYear=FromDate.value.substring(6,10); var TDate=ToDate.value.substring(0,2); var ToMonth=ToDate.value.substring(3,5); var ToYear=ToDate.value.substring(6,10); var sysDate=new Date(); var sysDay=sysDate.getDate(); var sysMonth=sysDate.getMonth(); var sysYear=sysDate.getFullYear(); if(FrmYear { if(FrmMonth { if(FrmDate { alert('No Need to Apply Leave for Previous Dates'); return false; } } } if(FrmMonth==ToMonth) { if(TDate { alert('No Need to Apply Leaves for Negative Days'); return false; } } if(((TDate { alert('No Need to Apply Leaves for Negative Days'); return false; } if((FrmYear==ToYear)|(FrmYearToYear)) { if(FrmMonth { alert('No Need to Select Less Date'); return false; } } var LeaveDays=0*1; var NegativeCount=0*1; if(FrmMonth==ToMonth) { LeaveDays=TDate-FrmDate+1; var TempCount=0*1; var LeaveApplied=new Date(); LeaveApplied.setDate(FrmDate); LeaveApplied.setMonth(FrmMonth-1); LeaveApplied.setFullYear(FrmYear); for(TempCount=1;TempCount<=LeaveDays;TempCount++) { if((weekday[LeaveApplied.getDay()]=="Sunday")||(weekday[LeaveApplied.getDay()]=="Saturday")) { NegativeCount++; } LeaveApplied=addDays(LeaveApplied,1); } } else { var LastDate=new Date((new Date(sysYear, sysMonth+1,1))-1).getDate(); var FrmTmpCount=0*1; var TempDate=new Date(); var FrmTemp=LastDate-FrmDate+1; var dateApplied=new Date(); dateApplied.setDate(FrmDate); dateApplied.setMonth(FrmMonth-1); dateApplied.setYear(FrmYear); for(FrmTmpCount=1;FrmTmpCount { if((weekday[dateApplied.getDay()]=="Saturday")|(weekday[dateApplied.getDay()]=="Sunday")) { NegativeCount++; } dateApplied= addDays(dateApplied,1); } var ToTemp=1-TDate; var ToTempCount=0*1; var ToAppliedDate=new Date(); ToAppliedDate.setDate(TDate); ToAppliedDate.setFullYear(ToYear); ToAppliedDate.setMonth(ToMonth-1); for(ToTempCount=ToTemp;ToTempCount<0;ToTempCount++) { if((weekday[ToAppliedDate.getDay()]=="Saturday")|(weekday[ToAppliedDate.getDay()]=="Sunday")) { NegativeCount++; } ToAppliedDate=addDays(ToAppliedDate,-1); } LeaveDays=FrmTemp-ToTemp+1; } LeaveDays=LeaveDays-NegativeCount; document.getElementById("lblAppliedLeave").innerHTML =LeaveDays; } function addDays(myDate,days) { return new Date(myDate.getTime() + days*24*60*60*1000); }
Hope this will help some people
|
| Author: Sumit 26 Dec 2008 | Member Level: Silver Points : 0 |
It Is Nice One
I Need It Thanks To U
Regards Sumit
|