日前在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;
}