87,839
社区成员




var Week=(function(){
var ONE_DAY=24*3600*1000,
ONE_WEEK=7*ONE_DAY;
function formatNumber(num){
return (num>9?'':'0')+num;
}
function formatDate(date,num){
var year=date.getFullYear(),
month=formatNumber(date.getMonth()+1),
day=formatNumber(date.getDate()),
nextWeek=new Date(+date+ONE_WEEK),
nextWeekYear=nextWeek.getFullYear(),
nextWeekMonth=formatNumber(nextWeek.getMonth()+1),
nextWeekday=formatNumber(nextWeek.getDate());
return year+'年第'+formatNumber(num+1)+'周'+month+'月'+day+'号-'+nextWeekYear+'年'+nextWeekMonth
+'月'+nextWeekday+'号';
}
function Week(year){
this.year=new Date(year,0,1);
this.nextYear=new Date(year+1,0,1);
this.days=0;
this.weeks=0;
}
Week.prototype.getDays=function(){
return this.days=Math.ceil((this.nextYear-this.year)/ONE_DAY);
}
Week.prototype.getWeeks=function(){
return this.weeks=Math.ceil(this.days||this.getDays()/7);
}
Week.prototype.getSomeWeek=function(num){
return formatDate(new Date(+this.year+ONE_WEEK*num),num);
}
Week.prototype.showWeek=function(num){
num=parseInt(num-1)||0;
if(!this.weeks){
this.getWeeks();
}
if(num>this.weeks){
num=0;
}
if(num){
return this.getSomeWeek(num);
}else{
var arr=[];
while(num<this.weeks){
arr.push(this.getSomeWeek(num));
num++;
}
return arr;
}
}
return Week;
})();
var d=new Week(2000);
console.log(d.showWeek(),null,4);