【问题标题】:Generate date from week number in moment.js从moment.js中的周数生成日期
【发布时间】:2013-09-29 21:32:10
【问题描述】:

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

【问题讨论】:

    标签: javascript datetime dayofweek momentjs


    【解决方案1】:

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

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

    【讨论】:

    • 如何从特定年份的周数中获取日期?谢谢
    • 你可能会使用 moment().year(2014).week(weeknum);
    • 获取一周的开始使用:moment().year(2018).week(25).day('monday').format('MMMM Do YYYY');
    【解决方案2】:

    根据此处提供的答案构建...

    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();
    };
    

    【讨论】:

      【解决方案3】:

      试试这样:-

      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 开头

      【讨论】:

      • OP 要求使用 Moment.js 提供解决方案。据我所知,这并不能回答问题。
      【解决方案4】:
      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”

      【讨论】:

        猜你喜欢
        • 2017-08-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-04
        • 1970-01-01
        • 2022-10-23
        • 2014-05-01
        相关资源
        最近更新 更多