`
bnmnba
  • 浏览: 288099 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

JavaScript Date对象获取ISO周数和年份

阅读更多

JavaScript Date对象扩展,支持获取ISO周数和其年份。

 

/* 
date: 指定时间
mondayIsFirstDay: true周一是周的第一天
返回指定时间和其周最后一天的差值天数
*/
Date.prototype.getDayAddForWeekEnd = function(date, mondayIsFirstDay) {
    var  day = date.getDay();//默认周日是第一天
    var dayAdd = 6-day;
    if(mondayIsFirstDay){
        // 周一是第一天
        dayAdd = (7-day)%7;
    }
    return dayAdd;
}

/* 得到ISO周:一年中的第多少个星期
	mondayIsFirstDay: true周一是周的第一天
	返回数组:[年份,周数]
*/
Date.prototype.getYearAndWeek = function(mondayIsFirstDay) {
    var date = new Date(this.getTime());
    date.setHours(0, 0, 0, 0);
    var dayAdd = this.getDayAddForWeekEnd(date, mondayIsFirstDay);
    // 当前时间的周的最后一天
    date.setDate(date.getDate()+dayAdd);
    // January 4 is always in week 1.
    var week1 = new Date(date.getFullYear(), 0, 4);
    // 今年第一周的最后一天
    var wdayAdd = this.getDayAddForWeekEnd(week1, mondayIsFirstDay)
    week1.setDate(week1.getDate()+wdayAdd);
    if(date.getTime()<week1.getTime()){
        week1 = new Date(date.getFullYear()-1, 0, 4);
        // 去年第一周的最后一天
        var wdayAdd = this.getDayAddForWeekEnd(week1, mondayIsFirstDay)
        week1.setDate(week1.getDate()+wdayAdd);
    }
    // 相差多个个7天:1000*60*60*24*7=604800000
    var wnum = (date.getTime() - week1.getTime())/604800000
    return [week1.getFullYear(),Math.floor(1 + wnum)];
}

/* 得到ISO周:一年中的第多少个星期
	mondayIsFirstDay: true周一是周的第一天
*/
Date.prototype.getWeek = function(mondayIsFirstDay) {
    var yearAndWeek = this.getYearAndWeek(mondayIsFirstDay);
    return yearAndWeek[1];
}
/* 得到ISO周数的年份
mondayIsFirstDay: true周一是周的第一天
*/
Date.prototype.getWeekYear = function(mondayIsFirstDay) {
    var yearAndWeek = this.getYearAndWeek(mondayIsFirstDay);
    return yearAndWeek[0];
}

 

 

分享到:
评论

相关推荐

    Sql查询获取周数Sql获取从星期一开始的周数

    因为线上查找过大部分的获取将星期一作为一周开始的周数的思路在特定日期都有一些问题,因项目需要有此功能,经过项目验证,计算准确无误(未发现有任何日期计算错语)。例如: select [dbo].[get_weekNumber]('2021...

    Javascript 日期对象Date扩展

    Date对象扩展,包括常用中文日期格式解析、加减操作、日期差、周操作和季操作。具体扩展的方法如下: parseCHS--静态方法。解析常用的中文日期并返回日期对象。 add--日期加减操作。[注:此函数在上传时还存在...

    oracle sql 根据年份、周数取日期

    oracle sql 根据年份、周数取日期

    周数获取.txt

    一共有两个方法,获取每个月有几周和获取当前登录时间是属于该月的第几周,测试没问题,已经用到实际项目中运行,文档中有联系方式,望跟各位大神交流

    js获取指定日期周数以及星期几的小例子

    JS获取日期时遇到如下需求,根据某年某周获取一周的日期。如开始日期规定为星期四到下一周的星期五为一周。 代码如下: function getNowFormatDate(theDate) { var day = theDate; var Year = 0; var Month = 0; ...

    vecka:获取当前周数

    获取当前周数。 安装 npm install vecka 例子 var vecka = require ( 'vecka' ) ; console . log ( vecka . nu ( ) ) ; // 44 命令行界面 npm install -g vecka $ vecka 44 应用程序接口 现在() 以数字形式...

    c#获取当前年的周数及当前月的天数示例代码

    获取当前年的周数 代码如下: ///  /// 获得今年有几周 ///  /// ”year”&gt; /// &lt;returns&gt;&lt;/returns&gt; public int GetWeekOfYear(int year) { DateTime the_Date = new DateTime(year,1,1);//本年的第一天 ...

    自动计算周数

    选择一个时间自动计算周数,自己写的,有什么意见可以提出来,大家一起交流

    python根据时间获取周数代码实例

    时间和周数 import time import datetime # 获取今天是第几周 print(time.strftime('%W')) # 获取当前是周几(0-6,0代表周一) today=datetime.datetime.now().weekday() # 获取指定日期属于当年的第几周 week=...

    怀孕天数周数预产期计算器

    怀孕天数周数计算器是一个能够自动计算和显示怀孕天数、预产期和剩余天数的小工具。 为老婆制作的,vb6编制的。 对前一版本稍有改动。

    Weeknumber:计算 ISO 周数-matlab开发

    基于日期计算周数的 M 文件。 日期可以作为标量或向量给出。 日期值也可以作为文本值提供,但随后还必须读入描述该格式的第二个变量。 此外,第三个变量可以设置为 true 或 false,这会将年份编号添加到输出中。 ...

    Oracle数据库的周数计算

    Oracle数据库的周数计算 日期计算,算第n周的第一天及最后一天是几号。 公式...

    matlab_将UTC标准时间转化成为GPS标准时间(包括GPS周数和周内秒数)

    能够将UTC标准时间转化成为GPS标准时间(包括GPS周数和周内秒数)。(UTC standard time can be transformed into GPS standard time (weeks and weeks, including GPS seconds).)

    Javascript实现通过选择周数显示开始日和结束日的实现代码

    主要介绍了Javascript实现通过选择周数显示开始日和结束日的实例代码的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下

    2010日历_带周数和农历

    在那个最常搜到的版本上手工增加了周数。 Excel版本,可以打印。

    有关日期与周数的相互转换

    有关日期与周数的相互转换,当日期在星期五以前返回本周,否则返回下一周。一周的开始是星期一

    JS获取月份最后天数、最大天数与某日周数的方法

    本文实例讲述了JS获取月份最后天数、最大天数与某日周数的方法。分享给大家供大家参考,具体如下: &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;head&gt; &lt;title&gt;标题页&lt;/title&gt; [removed]...

    有秒数显示,且有周数显示的日历

    有秒显示,同时有时间更新,可调整,及时显示秒数。通过增加时间响应函数添加时间来调用系统最新,最实时的情况来反应,更新屏幕每秒。

Global site tag (gtag.js) - Google Analytics