原生js获取当前周数

摘要:通过原生Js根据日期获取对应日期的周数,例如今天是2018-01-01那么获取该日期在这一年的周数就为1,有需要的朋友可以参考下。

通过原生Js根据日期获取对应日期的周数,例如今天是2018-01-01那么获取该日期在这一年的周数就为1。有需要的朋友可以参考下:

function getweek(dateString){
	var da='';
	if(dateString==undefined){
		var now=new Date();
		var now_m=now.getMonth()+1;
		now_m=(now_m<10)?'0'+now_m:now_m;
		var now_d=now.getDate();
		now_d=(now_d<10)?'0'+now_d:now_d;
		da=now.getFullYear()+'-'+now_m+'-'+now_d;
		console.log('今天系统时间是:'+da);
	}else{
		da=dateString;//日期格式2015-12-30
	}  
	var date1 = new Date(da.substring(0,4), parseInt(da.substring(5,7)) - 1, da.substring(8,10));//当前日期
	var date2 = new Date(da.substring(0,4), 0, 1); //1月1号
	//获取1月1号星期(以周一为第一天,0周一~6周日)
	var dateWeekNum=date2.getDay()-1;
	if(dateWeekNum<0){dateWeekNum=6;}
	if(dateWeekNum<4){
	  //前移日期
	  date2.setDate(date2.getDate()-dateWeekNum);
	}else{
	  //后移日期
	  date2.setDate(date2.getDate()+7-dateWeekNum);
	}
	var d = Math.round((date1.valueOf() - date2.valueOf()) / 86400000);
	if(d<0){
	  var date3 = (date1.getFullYear()-1)+"-12-31";
	  return getYearWeek(date3);
	}else{
	  //得到年数周数
	  var year=date1.getFullYear();
	  var week=Math.ceil((d+1 )/ 7);
	  console.log(year+"年第"+week+"周");
	  return  week;
	}
}


使用如下:

1、获取系统时间当前的周数:

getweek (); //输出今天系统时间是:2018-01-03,2018年第1周

2、获取指定时间的周数

getweek ("2018-01-08"); //2018年第2周



本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_305