使用JS计算本周在一年中属于第几周

本文介绍了一个JavaScript函数,用于计算当前日期所在的周数。通过获取当前日期,并考虑是否为闰年等因素,该函数能够准确地计算出当前周数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function theWeek(){

//当前date
var now = new Date();

//每月多少日
var monthOfFullDay = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

//当前日,在本年中第几日
var currentDayOfYear = 0;

//是否为润年,即能被4整除
var isFullYear = false;

var currentDayOfWeekIsLastDay = false;

var firstDayOfYearIsFirstDayOfWeek = false;

//当前年份
var year = 0;
if(now.getYear()>=2000)
	year = now.getYear();
else
	year = now.getYear() + 1900;

//当前月份
var month = now.getMonth();

//当前日
var day = now.getDate();

//当前星期几
var week = now.getDay();

//为闰年,设isFullYear为true
if(year%4==0){
	isFullYear = true;
}


//循环计算天数
for(var i=0;i<monthOfFullDay.length;i++){
	//判断数组月份是否小于等于当前月份
	if(i<month){
		//是闰年和2月份
		if(isFullYear && i==1)
			currentDayOfYear = currentDayOfYear + 29;
		else
			currentDayOfYear = currentDayOfYear + monthOfFullDay[i];
		
	}
	if(i==month)
		currentDayOfYear = currentDayOfYear + day;
}

//设置本年1月1日
var firstDayOfYear = new Date();
firstDayOfYear.setYear(year);
firstDayOfYear.setMonth(0);
firstDayOfYear.setDate(1); 

if(firstDayOfYear.getDay()==0){
	firstDayOfYearIsFirstDayOfWeek = true;
}

var weeksOfYear = currentDayOfYear;

//本星期是否为最后一日,否,则减去本兴起所有日
if(!currentDayOfWeekIsLastDay){
	weeksOfYear = weeksOfYear + firstDayOfYear.getDay();
}

//是否第一个星期为第一日(即星期日),否,则减去本星期所有日
if(!firstDayOfYearIsFirstDayOfWeek){
	weeksOfYear = weeksOfYear + (7-week-1);
}

return weeksOfYear/7;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值