//求当前天所在周数
//selectDate为当前日期
//startDay为日期偏移量 0:星期天,1:为星期一,2,:星期二,依次类推
function getDayInWeekOfYear(selectDate,startDay){
//将字符串转化为date
var date = eval('new Date(' + selectDate.replace(/\d+(?=-[^-]+$)/,function (a) { return parseInt(a, 10) - 1; }).match(/\d+/g) + ')');
var year =date.getFullYear();
var start_date=new Date(year,0,1);
//求该年开始时间,本年一月一号所在的下一个周三
if(start_date.getDay()>startDay){
start_date.setDate(start_date.getDate() +((7-start_date.getDay())+startDay));
}else if(start_date.getDay()<startDay){
start_date.setDate(start_date.getDate() +(startDay-start_date.getDay()));
}
var days=(date.getTime()-start_date.getTime())/(24*60*60*1000);
//如果days小于0说明该天属于上一年最后一周,计算上一年的最后一周
if(days<0){
var last_year_start_date=new Date(year-1,0,1);
var last_year_end_date=new Date(year-1,11,31);
//求该年开始时间,本年一月一号所在的下一个周三
if(last_year_start_date.getDay()>startDay){
last_year_start_date.setDate(last_year_start_date.getDate() +((7-last_year_start_date.getDay())+startDay));
}else if(last_year_start_date.getDay()<startDay){
last_year_start_date.setDate(last_year_start_date.getDate() +(startDay-last_year_start_date.getDay()));
}
//求该年结束时间,本年12月31号所在的下一个周三
if(last_year_end_date.getDay()>=startDay){
last_year_end_date.setDate(last_year_end_date.getDate() +((7-last_year_end_date.getDay())+startDay));
}else if(last_year_end_date.getDay()<startDay){
last_year_end_date.setDate(last_year_end_date.getDate() +(startDay-last_year_end_date.getDay()));
}
//该年有多少天
var days=(last_year_end_date.getTime()-last_year_start_date.getTime())/(24*60*60*1000);
//该年有多少周
var weeks=days/7.0;
weeks=weeks<10?"0"+weeks:weeks;
return (year-1)+"-"+weeks;
}
var weeks =Math.floor(days/7.0+1);
weeks=weeks<10?"0"+weeks:weeks;
return year+"-"+weeks;
}
//selectDate为当前日期
//startDay为日期偏移量 0:星期天,1:为星期一,2,:星期二,依次类推
function getDayInWeekOfYear(selectDate,startDay){
//将字符串转化为date
var date = eval('new Date(' + selectDate.replace(/\d+(?=-[^-]+$)/,function (a) { return parseInt(a, 10) - 1; }).match(/\d+/g) + ')');
var year =date.getFullYear();
var start_date=new Date(year,0,1);
//求该年开始时间,本年一月一号所在的下一个周三
if(start_date.getDay()>startDay){
start_date.setDate(start_date.getDate() +((7-start_date.getDay())+startDay));
}else if(start_date.getDay()<startDay){
start_date.setDate(start_date.getDate() +(startDay-start_date.getDay()));
}
var days=(date.getTime()-start_date.getTime())/(24*60*60*1000);
//如果days小于0说明该天属于上一年最后一周,计算上一年的最后一周
if(days<0){
var last_year_start_date=new Date(year-1,0,1);
var last_year_end_date=new Date(year-1,11,31);
//求该年开始时间,本年一月一号所在的下一个周三
if(last_year_start_date.getDay()>startDay){
last_year_start_date.setDate(last_year_start_date.getDate() +((7-last_year_start_date.getDay())+startDay));
}else if(last_year_start_date.getDay()<startDay){
last_year_start_date.setDate(last_year_start_date.getDate() +(startDay-last_year_start_date.getDay()));
}
//求该年结束时间,本年12月31号所在的下一个周三
if(last_year_end_date.getDay()>=startDay){
last_year_end_date.setDate(last_year_end_date.getDate() +((7-last_year_end_date.getDay())+startDay));
}else if(last_year_end_date.getDay()<startDay){
last_year_end_date.setDate(last_year_end_date.getDate() +(startDay-last_year_end_date.getDay()));
}
//该年有多少天
var days=(last_year_end_date.getTime()-last_year_start_date.getTime())/(24*60*60*1000);
//该年有多少周
var weeks=days/7.0;
weeks=weeks<10?"0"+weeks:weeks;
return (year-1)+"-"+weeks;
}
var weeks =Math.floor(days/7.0+1);
weeks=weeks<10?"0"+weeks:weeks;
return year+"-"+weeks;
}