算法按元旦后第一个星期日才算第一周计算,一年只有52或53周。。
公司主营业务:成都网站制作、成都网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出井陉免费做网站回馈大家。
script
type="text/javascript"
function
getNumOfWeeks(year){
var
d=new
Date(year,0,1);
var
yt=(
(
year%4==0
year%100!=0)
||
year%400==0)?
366:365;
return
Math.ceil((yt-d.getDay())/7.0);
}
var
a=[2012,2011,2000,
1900];
for(var
i
in
a){
document.write(a[i]+"年有"+getNumOfWeeks(a[i])+"周br/");
}
/script
2012年有53周
2011年有52周
2000年有52周
1900年有52周
var start = new Date(date1.replace("-","/"));
var end = new Date(date2.replace("-","/"));
var diff = parseInt((end - start) / (1000*60*60*24));
先算出两个日期间的时间差,然后除以7天就行
//
定义变量d为当年的1月1日0点
var
d
=
new
Date();
d.setFullYear(d.getFullYear(),0,1);
//
定义day为当年1月1日的星期数(0为星期天,1为星期1,6为星期6)
var
day
=
d.getDay();
//
定义fistweekleft为第一周剩余的天数,此处认为星期一是一周的第一天,如果将星期天定义为一周的第一天,请写成fistweekleft
=
(6-day)%6
var
fistweekleft
=
(7-day)%7;
//
将d赋值为第二周的第一天,1+fistweekleft号为第一周最后天,1+fistweekleft+1为第二周第一天
d.setFullYear(d.getFullYear(),0,1+fistweekleft+1);
//
定义变量d1为当天
var
d1
=
new
Date();
//
当前时间与当年第二周第一天的毫秒数之差除以一周的毫秒数并取整即为当前日期距本的第二周已过的周数
//
结果加上2即为当天为本年的第几周(如果在一周的第一天的0点运行此程序,结果会比实际值大1,此种情况请自行处理)
alert(2+parseInt((d1.getTime()-d.getTime())/1000/60/60/24/7));