日期:2014-05-16 浏览次数:20387 次
前段时间做项目需要统计某一周的信息,输入日期,需要确定该日期为周几,该周为第几周?
网络上搜索了若干解决方法,其中有一种将天数转变成毫秒数的算法,解决起来较为简单,代码如下:
?
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就,本周数了。
?
?
?
?