/* 获取年周对应当前周的周一的年月日
* startFirstMonda-->>是否从当年的第一天开始算周 false: 从第一天开始算周数;true: 从第一个周一开始算周数。
* ymOrymd-->>获取格式 'ym': 只获取年周 ;'ymd': 获取年月日。
*/
function doYearWeek(year_, week_, startFirstMonday,ymOrymd) {//
if (startFirstMonday == undefined)
startFirstMonday = true;
var weekIndex = 1;
var year = parseInt(year_);
var week = parseInt(week_);
var i = 1;
var firstDate = new Date(year, 0, i);
if (!startFirstMonday) {
if (weekIndex < week) {
weekIndex++;
} else
return firstDate;
}
if (firstDate.getDay() != 1) {
i += 7 - firstDate.getDay() + 1;
firstDate.setFullYear(year, 0, i);
}
if (weekIndex < week) {
i += 7 * (week - weekIndex);
firstDate.setFullYear(year,0,i);
}
var newDate= firstDate.getFullYear();
if(ymOrymd=='ym'){
if((firstDate.getMonth()+1)<10){
newDate= newDate+"0"+(firstDate.getMonth()+1);
}else{
newDate= newDate+""+(firstDate.getMonth()+1);
}
}else if(ymOrymd=='ymd'){
if((firstDate.getMonth()+1)<10){
newDate= newDate+"0"+(firstDate.getMonth()+1);
}else{
newDate= newDate+""+(firstDate.getMonth()+1);
}
if(firstDate.getDate()<10){
newDate= newDate+"0"+firstDate.getDate();
}else{
newDate= newDate+""+firstDate.getDate();
}
}
return newDate;
}
* startFirstMonda-->>是否从当年的第一天开始算周 false: 从第一天开始算周数;true: 从第一个周一开始算周数。
* ymOrymd-->>获取格式 'ym': 只获取年周 ;'ymd': 获取年月日。
*/
function doYearWeek(year_, week_, startFirstMonday,ymOrymd) {//
if (startFirstMonday == undefined)
startFirstMonday = true;
var weekIndex = 1;
var year = parseInt(year_);
var week = parseInt(week_);
var i = 1;
var firstDate = new Date(year, 0, i);
if (!startFirstMonday) {
if (weekIndex < week) {
weekIndex++;
} else
return firstDate;
}
if (firstDate.getDay() != 1) {
i += 7 - firstDate.getDay() + 1;
firstDate.setFullYear(year, 0, i);
}
if (weekIndex < week) {
i += 7 * (week - weekIndex);
firstDate.setFullYear(year,0,i);
}
var newDate= firstDate.getFullYear();
if(ymOrymd=='ym'){
if((firstDate.getMonth()+1)<10){
newDate= newDate+"0"+(firstDate.getMonth()+1);
}else{
newDate= newDate+""+(firstDate.getMonth()+1);
}
}else if(ymOrymd=='ymd'){
if((firstDate.getMonth()+1)<10){
newDate= newDate+"0"+(firstDate.getMonth()+1);
}else{
newDate= newDate+""+(firstDate.getMonth()+1);
}
if(firstDate.getDate()<10){
newDate= newDate+"0"+firstDate.getDate();
}else{
newDate= newDate+""+firstDate.getDate();
}
}
return newDate;
}