function cctian() { var starttime = document.getElementById("starttime").value; var endtime = document.getElementById("endtime").value; var day= document.getElementById("day").value; var day =Number(day) + 1 ; var st = starttime.replace(/:/g,'-'); st = st.replace(/ /g,'-'); var st = st.split("-"); var st = new Date(Date.UTC(st[0],st[1]-1,st[2],st[3]-8,st[4],st[5])); var starttimes = st.getTime()/1000; var sx = st.getDay(); var en = endtime.replace(/:/g,'-'); en = en.replace(/ /g,'-'); var en = en.split("-"); var en = new Date(Date.UTC(en[0],en[1]-1,en[2],en[3]-8,en[4],en[5])); var endtimes = en.getTime()/1000; var zz = 0; for(;starttimes<=endtimes;starttimes=starttimes+86400) { var s=new Date(parseInt(starttimes) * 1000).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " "); var s = s.replace(/:/g,'-'); s = s.replace(/ /g,'-'); var s = s.split("-"); var st = new Date(Date.UTC(s[0],s[1]-1,s[2],s[3]-8,s[4],s[5])); var sx = st.getDay(); if (sx == 6 || sx == 0) { ++zz; } } var worktime=day-zz; document.getElementById("test").value = worktime; }
计算一段时间的上班时间,除去周末
2个输入框 "starttime","endtime"得到开始和结束时间
day输入框得到"starttime","endtime"的时间天数差
最后把worktime时间赋值到test输入框上