日期:2014-05-16  浏览次数:20397 次

Javascript 计算今天处在该年的第几周

前段时间做项目需要统计某一周的信息,输入日期,需要确定该日期为周几,该周为第几周?

网络上搜索了若干解决方法,其中有一种将天数转变成毫秒数的算法,解决起来较为简单,代码如下:

?

var thisDay = new Date();
var firstDay = new Date(2011,0,1);//本年的第一天,Js月份从0开始记!0就是1月啦。
var dayWeek = thisDay.getDay();//今天周几
if(dayWeek == 0){dayWeek = 7;}
startWeek = firstDay.getDay();//本年第一天周几
if(startWeek == 0){startWeek = 7;}
//第几周
var weekNum = ((thisDay.getTime()-firstDay.getTime())/(24*60*60*1000)+startWeek-dayWeek)/7 + 1;

?

thisDay.getTime()-firstDay.getTime())/(24*60*60*1000 计算出来的结果为本年第一天距今天的天数。

加上startWeek-dayWeek后,就得到了第一周的周日距本周日的天数(7-dayWeek)-(7-startWeek),于是整除7再加上1就,本周数了。

?

?

?

?