`
nesta13
  • 浏览: 115770 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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

阅读更多
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;
}

 

分享到:
评论
2 楼 nesta13 2008-06-18  
不错,谢谢的你建议
1 楼 eastPoint 2008-06-10  
使用毫秒时间来计算岂不是更快.
而且代码量少得多.

function week(year,month,day){
     var curDate = new Date();
     var beginDate = new Date(year,month,day,0,0,0);
     return Math.round((curDate-beginDate)/1000*60*60*24*7)+1;
}

使用alert(week(2008,1,1));返回1;

相关推荐

    JS获取当天是本年的第几周和本周的起始日期

    在JavaScript中,获取当前日期是本年的第几周以及本周的起始日期是一个常见的需求,特别是在日历应用或者数据分析中。下面将详细解释如何通过JS实现这个功能,并且考虑到周的起始日期可以自定义,这里设定为礼拜四...

    计算某年从某一天起某日是第几周

    在编程领域,计算某年从某一天起某日是第几周是一个常见的日期处理问题,主要涉及日期和时间的操作。这个任务通常会在日历应用、数据分析或者报告生成等场景中出现。下面我们将深入探讨如何实现这个功能,并提供相关...

    js计算两个日期相差几周

    ### JavaScript 计算两个日期相差几周的知识点详解 ...通过以上介绍,我们可以看到使用JavaScript计算两个日期相差几周不仅实用而且具有一定的灵活性。希望本文能够帮助你在项目中更好地理解和应用日期处理技术。

    moment.js轻松实现获取当前日期是当年的第几周

    在本文中,我们将深入探讨如何利用JavaScript库moment.js轻松获取当前日期是当年的第几周,以及如何实现将日期向前和向后推几周的操作。Moment.js是一个广泛使用的JavaScript日期处理库,它简化了日期的解析、验证、...

    JavaScript 计算当天是本年本月的第几周

    在JavaScript中,有时我们需要获取当前日期是本年、本月的第几周,这在处理日历、时间表或者统计分析等场景非常有用。本篇文章将详细解释如何使用JavaScript实现这个功能。 首先,我们来看`getMonthWeek`函数,它的...

    使用JS获取本周本月时间段的方法

    // 获取当前日期是一周中的第几天,0代表周日,1代表周一 let monday = new Date(currentDate); monday.setDate(currentDate.getDate() - dayOfWeek); // 调整到周一 ``` 3. 获取本周日的日期,只需在周一的基础上...

    js实现获取当前时间是本月第几周的方法

    3. 计算当前日期所在月份的第几周:要计算当前日期是本月份的第几周,可以使用一个函数getMonthWeek。这个函数接受三个参数:年、月、日,然后基于这些参数创建一个Date对象。通过计算当前日期与本月份最后一天的...

    js实现年周组件

    本案例中的"js实现年周组件"是一个自定义的UI组件,它允许用户选择特定的年份和周数,可能是用于数据筛选或者日程管理等场景。现在我们将详细探讨如何利用JavaScript来实现这样的组件。 首先,我们要明确组件的基本...

    JS获取月的第几周和年的第几周实例代码

    在JavaScript中,有时候我们需要计算一个日期所在月份的第几周或者年份的第几周,这对于日历应用、数据分析或报告生成等场景非常有用。本文将详细解释如何使用JavaScript实现这个功能,通过给出的实例代码进行解析。...

    JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码

    该函数通过计算从年初开始到当前日期的总天数,然后除以7(一周的天数),向上取整,得到当前日期是年内的第几周。 - `dateIndexInYear` 函数用于计算当前日期在当年的总天数。该函数与`weekIndexInYear`函数类似,...

    js代码-输入年月日,判断这是这一年的第几个周

    在JavaScript编程中,根据用户输入的年月日来判断它属于这一年中的第几周是一项常见的任务,这在日历应用、数据分析或者时间管理类软件中非常有用。在本例中,我们将探讨如何实现这个功能,主要关注`main.js`文件中...

    输入的年,周,星期求日期

    - ISO周:国际标准ISO 8601定义的一年中的第一周为包含新年第一天(1月1日)的那周,且至少有4天。因此,计算周数时可能需要考虑这种情况。 - JavaScript默认使用本地时间,可能与ISO周不同,可能需要调整。 5. *...

    JS如何判断某天为星期几

    4. 最终返回的结果是通过`(deltmonth + deltyear + deltdate) - Math.floor((deltmonth + deltyear + deltdate) / 7) * 7`计算得来的,这实际上是在计算一周内的第几天,但其计算逻辑较为晦涩,不易理解和维护。...

    js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期

    接着,通过`getDay()`方法获取当前日期是一周中的第几天,`getDate()`获取当前日,`getMonth()`获取当前月,以及`getYear()`获取当前年份。由于JavaScript的`getYear()`返回的是两位数的年份,因此我们需要将小于...

    JQ JS javascript new Data() 获取 指定日期 的 后一天

    通常我们会结合使用JQuery与一个日期插件,如`jQuery UI Datepicker`或第三方库`Moment.js`来处理日期。 6. **使用示例**: ```javascript var date = new Date('2022-07-01'); // 创建指定日期的对象 date....

    js获取时间(本周、本季度、本月..)

    通过getMonth()方法,我们可以得知当前处于一年中的哪个月份,返回值为0到11,代表一月到十二月。 3. 获取当前年份: getYear()方法返回当前年份与1900的差值。如果结果小于100,则通常需要加1900(或者2000,这取...

Global site tag (gtag.js) - Google Analytics