编程语言
首页 > 编程语言> > javascript中有没有一种方法可以使用年份和ISO周号来创建日期对象?

javascript中有没有一种方法可以使用年份和ISO周号来创建日期对象?

作者:互联网

我正在尝试创建一个Google注释的时间轴,即.为此,我需要输入事件的日期.我唯一的信息是年份和年份.活动的ISO周编号. Javascript中有没有一种方法可以仅使用year&创建日期对象.周数?我用谷歌搜索,但没有遇到任何可行的解决方案.

谢谢您的帮助!

解决方法:

ISO周从星期一开始

如果1月1日是星期一,星期二,星期三或星期四,则它在第01周.
 如果1月1日在星期五,星期六或星期日,那么它在上一年的第52或53周

Date.weekofYear= function(s){
    var yw= s.split(/\D+0?/),
    weeks= 7*yw[1]-7,
    date1= new Date(yw[0], 0, 1),
    day1= date1.getDay(),
    incr= (day1> 0 && day1<5)? -1: 1;
    if(yw[2]) weeks+= (+yw[2])-1;// optional day in week

    while(date1.getDay()!= 1){
        date1.setDate(date1.getDate()+incr);
    }
    date1.setDate(date1.getDate()+weeks);
    return date1;
}

Date.weekofYear('2010-20').toLocaleDateString()
// (use UTC methods to start the weeks on Greenwich instead of local time)
/*  returned value: (String)
Monday, May 17, 2010
*/

标签:week-number,javascript,date
来源: https://codeday.me/bug/20191024/1917777.html