JS计算工作时间差
本帖最后由 me_meihuo 于 2011-04-28 16:59:41 编辑
            这是一个出差申请表单~~在表单里自己选择一个开始时间和结束时间  然后就自动求出合计出差时间了 时间包括年月日和几点  比如  开始时间2011-12-12 4点 结束2011-12-13 4点 合计出差时间就是8小时 上班时间为8-12  13-17 跪求高手帮忙啊 
		var date=0;//综合时间 
		var allhour=0;//总小时 
 		var startdate = Page.thisObj('TO2CCMX.kd').value;//获取页面的开始日期 
 		var starttime = Page.thisObj('TO2CCMX.starttime_hour').value;//获取页面的开始时间 
 		
 		var enddate = Page.thisObj('TO2CCMX.sd').value;//获取页面的结束日期
 		var endtime = Page.thisObj('TO2CCMX.endtime_hour').value;//获取页面的结束时间
		 if(enddate<startdate)
		 {
		 	alert("结束时间不能小于开始时间");
		 }else if(enddate==startdate)
		 {
		 	alert("提示:如您的出差时间小于1天,请填写外出单!");
		 }else
		 {
		 	var startyear = parseInt(startdate.substring(0,8));//截取开始日期/年 
		 	var endyear = parseInt(startdate.substring(0,8));//截取结束日期/年 
		 	var startmonth = parseInt(startdate.substring(5,7));//截取开始日期/月 
		 	var endmonth = parseInt(startdate.substring(5,7));//截取结束日期/月 
		 	var startday = parseInt(startdate.substring(8,10));//截取开始日期/日 
		 	var endday = parseInt(enddate.substring(8,10));//截取结束日期/日
            if(startyear==endyear && startmonth==endmonth)
            {
            	var day = endday-startday;
            	
            	if(((8<=starttime && starttime<=12) || (13<=starttime && starttime<=17))&&((8<=endtime && endtime<=12) || (13<=endtime && endtime<=17)))
            	{
					if(starttime<endtime)
					{
						allhour=(endtime-starttime)+8;
					}else
					{
						allhour=8;
					}
				}
            	
	
				/*
				else if(endtime<starttime)
				{
					if(((8<=starttime && starttime<=12)&&(13<=starttime && starttime<=17)) && (8<=endtime && endtime<=12)&&(13<=endtime && endtime<=17))