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