代码之家  ›  专栏  ›  技术社区  ›  Rain Man

使用moment根据周数和日数获取日期

  •  0
  • Rain Man  · 技术社区  · 2 年前

    我尝试使用周数和日数获取当前日期,例如,今天是2022年5月31日,也就是第22周:

    var weeknumber = moment("2022-05-31", "YYYY-MM-DD").isoWeek(); // returns 22
    // 1 is monday and 7 is sunday
    var weekdate = moment().day('7').week(weeknumber).format("YYYY-MM-DD");
    console.log(weekdate); // returns "2022-05-22" 
    
    // 1    2   3    4    5   6   7    // day number
    // Mon Tues Wed Thur Fri Sat Sun   // day name
    // 30  31   1    2   3    4   5    // date
    

    https://jsfiddle.net/xypebn47/

    的结果 weekdate 不正确,一周的开始是星期一,这个星期天是2022年6月5日,但它返回到5月22日,这是为什么?

    1 回复  |  直到 2 年前
        1
  •  2
  •   Suresh    2 年前

    将您的工作日声明更改为以下内容。

    var weekdate = moment().day('7').isoWeek(weeknumber).format("YYYY-MM-DD");