function theWeek(){ //當前date var now = new Date(); //每月多少日 var monthOfFullDay = new Array(31,28,31,30,31,30,31,31,30,31,30,31); //當前日,在本年中第幾日 var currentDayOfYear = 0; //是否爲潤年,即能被4整除 var isFullYear = false; var currentDayOfWeekIsLastDay = false; var firstDayOfYearIsFirstDayOfWeek = false; //當前年份 var year = 0; if(now.getYear()>=2000) year = now.getYear(); else year = now.getYear() + 1900; //當前月份 var month = now.getMonth(); //當前日 var day = now.getDate(); //當前星期幾 var week = now.getDay(); //爲閏年,設isFullYear爲true if(year%4==0){ isFullYear = true; } //循環計算天數 for(var i=0;i<monthOfFullDay.length;i++){ //判斷數組月份是否小於等於當前月份 if(i<month){ //是閏年和2月份 if(isFullYear && i==1) currentDayOfYear = currentDayOfYear + 29; else currentDayOfYear = currentDayOfYear + monthOfFullDay[i]; } if(i==month) currentDayOfYear = currentDayOfYear + day; } //設置本年1月1日 var firstDayOfYear = new Date(); firstDayOfYear.setYear(year); firstDayOfYear.setMonth(0); firstDayOfYear.setDate(1); if(firstDayOfYear.getDay()==0){ firstDayOfYearIsFirstDayOfWeek = true; } var weeksOfYear = currentDayOfYear; //本星期是否爲最後一日,否,則減去本興起所有日 if(!currentDayOfWeekIsLastDay){ weeksOfYear = weeksOfYear + firstDayOfYear.getDay(); } //是否第一個星期爲第一日(即星期日),否,則減去本星期所有日 if(!firstDayOfYearIsFirstDayOfWeek){ weeksOfYear = weeksOfYear + (7-week-1); } return weeksOfYear/7; }