从周数生成日期.js

Generate date from week number in moment.js

本文关键字:js 日期 周数生      更新时间:2023-09-26

正如标题中提到的,我有一个周数和一个年份值。有没有办法使用 moment.js 找到该周的星期一?正在尝试,但没有成功

抱歉自己找到了解决方案:

var test = moment().day("Monday").week(week number here);

基于此处提供的答案...

exports.getDateFromWeek = function(week, year) {
    return moment().day("Monday").year(year).week(week).toDate();
};

就个人而言,我想要第一个星期天...在这种情况下,它是:

exports.getDateFromWeek = function(week, year) {
    return moment().day("Sunday").year(year).week(week).toDate();
};

尝试如下:-

var weekdate= function(year, week, dayNumber)
{
    var j1 = new Date( year,0,10,12,0,0),
        j2 = new Date( year,0,4,12,0,0),
        mon1 = j2.getTime() - j1.getDay() * 86400000;
    return new Date(mon1 + ((week- 1)  * 7  + dayNumber) * 86400000);
};
console.log(weekdate(2010, 1, 4));

2010Thursady开始

moment('2021').add(16, 'weeks').startOf('week').format('DD MM YYYY');

周日开始。上面的代码结果是"18 04 2021"

moment('2021').add(16, 'weeks').startOf('isoweek').format('DD MM YYYY');

从星期一开始。上面的代码结果是"19 04 2021"