日期:2014-05-16  浏览次数:20369 次

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))