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

使用Javascript计算当前日期的周数(第几周)
  众所周知,PHP中可以使用date('W')函数获取特定日期的周数,而在Javascript中就没有这个简单的方法来直接获取了,在一个开发周报的模块中,有一个需求,根据用户选择的日期,自动生成周报标题,标题格式为:第XX周周报,其中,XX是用户选择日期的周数。
  这个功能最容易想到的方法就是通过使用AJAX,而周数则是通过服务器计算,可是这个方法过于重量级了,用户每改变一次日期要连接一次服务器,不是很好。
  或者直接使用Javascript函数计算日期的周数,那就要自己写js代码了,首先Google一下有没有已有的解决方案,真的找到了几个,可是都和PHP计算的周数不同,于是我在前人的基础上,重新修改了代码,终于写出了和PHP结果相同的根据日期计算周数(第几周)代码,代码如下:
function getYearWeek(date){
	var date2=new Date(date.getFullYear(), 0, 1);
	var day1=date.getDay();
	if(day1==0) day1=7;
	var day2=date2.getDay();
	if(day2==0) day2=7;
	d = Math.round((date.getTime() - date2.getTime()+(day2-day1)*(24*60*60*1000)) / 86400000);  
	return Math.ceil(d /7)+1; 
}
 

   放松一下,看耶鲁博弈论