<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" /><title>无标题文档</title></head><body onload="showzhiri()"><script type="text/javascript">function getDaydiff(d1, d2){ var arrDate,strDate,arrDate2,strDate2,diffDays arrDate= d1.split("-") strDate=new Date(arrDate[1] + '-' + arrDate[2] + '-' + arrDate[0]) //转换为12-18-2002格式 arrDate2=d2.split("-") strDate2= new Date(arrDate2[1] + '-' + arrDate2[2] + '-' + arrDate2[0]) diffDays = parseInt(Math.abs(strDate2-strDate) / 1000 / 60 / 60 /24) //把相差的毫秒数转换为天数 return diffDays} function surewho(flag){ switch(flag){ case 0: return 'A'breakcase 1: return 'B'breakcase 2: return 'C'breakcase 3: return 'D'breakcase 4: return 'E'breakcase 5: return 'F'breakdefault:break} } function showzhiri(){ var pers= new Array('A','B','C','D','E','F')//六个人分别是A、B、C、D、E、F var intialtime="2010-6-8"//我按给你回答的日期开始的也就是今天哟 var myDate = new Date()var now//程序启动当前的日期 now=myDate.getFullYear()+'-'+(myDate.getMonth()+1)+'-'+myDate.getDate()var days//当前启动程序与安排值日那天相差的天数 days=getDaydiff(intialtime, now) var whowho=surewho(days%6)document.write('今天该 '+who+' 值日') } </script></body></html>ie6 ie7 火狐都可以的,楼主给分啊,这是我刚才亲手写的啊function zhibanren(){
var pers=new Array('张三','李四','同志1','同志2','同志3','同志4','同志5','同志6')
var ctrl_param=2
var now=new Date()
var days=parseInt(now.getTime()/24/3600/1000+3)
return pers[(parseInt(days /7)+ctrl_param) % pers.length]
}
alert(zhibanren())主要就是+3 那里。getTime() 返回的是当前时间距1970年1月1日的毫秒数,那天是星期四,所以你得把除出来的天数+3倒退到星期一。然后再根据总天数/7 就可得到距那天有多少个周。剩下的事就简单了。你原来弄复杂了。
你这样记录:morning放时间,night放小时,比如:他早上8:00打卡的,morning中放:2012-4-28 08:00:00 下班打卡的时候night中放:8 ,也就是下班打卡的时间-上班时间的小时数;这样就好计算了