日前在javascript中得到指定周末的日期数,网上搜索一番后,发现javascript在Date对象中对于周数的处理还是很弱的,于是自己动手,丰衣足食。
基本过程:
a.计算今年第一周有几天;
b.计算今天是一年当中的第几天;
c.计算今天是当前周的第几天;
d.计算当前的周数与周末日期;
e.根据指定周与当前周的差额,算出指定周末的日期。
function get_weekend_day(strNum){ //strNum 为指定的周末树 var day_MillSeconds=24*3600*1000; var datetime=new Date(); var year = datetime.getFullYear(); var mouth = datetime.getMonth(); var day = datetime.getDate(); var firstDay = new Date(year, 0, 1); //新年第一天 var firstWeekDays = 7 - firstDay.getDay(); //第一周有几天 var currentWeekend=new Date(year, mouth, day+7-datetime.getDay()) //当前周末的日期 var dayOfYear = (datetime-firstDay) / day_MillSeconds + 1; //当前是一年中的第几天 var currentWeekNum=Math.ceil((dayOfYear -firstWeekDays) / 7 + 1); //当前的周数 total=currentWeekNum-strNum; weekendDay=new Date(currentWeekend - (total*7*day_MillSeconds)); return weekendDay; }