gpt4 book ai didi

javascript - MomentJs 星期一按周数错误

转载 作者:行者123 更新时间:2023-12-04 14:12:13 26 4
gpt4 key购买 nike

我有一个函数可以获取格式为 YYYY-MM-DD 的日期键,例如。 2021-03-29(星期一)获取其周数 (13),并使用它获取该周数的星期一,如果是 2021-03-29,则为同一天,如果是 2021-03-30,则应为 2021-03-29 等,只要在同一周(按周数)

我已经为它创建了一个沙箱。

http://jsfiddle.net/x6sL8k7e/1/

测试代码

const dateKey = "2021-03-29"
const weekNumber = moment(dateKey, 'YYYY-MM-DD').isoWeek() // getting week nr - 13


const date = moment(dateKey, 'YYYY-MM-DD')
.clone()
.week(weekNumber) // want to get monday for week #13
.day('Monday')

console.log('date', date.format('YYYY-MM-DD'))

附言。它适用于今年的日期(任何日期)

最佳答案

再见,我通过将 isoWeek 替换为 week 解决了您的问题,如下所示:

const dateKey = "2021-03-29"
const weekNumber = moment(dateKey, 'YYYY-MM-DD').week()
console.log(weekNumber)

const date = moment(dateKey, 'YYYY-MM-DD')
.clone()
.week(weekNumber)
.day('Monday')

console.log('date', date.format('YYYY-MM-DD'))

Here您的代码已修改。

无论如何,我理解您的问题,并且可能与 2020 年有 53 周而 2021 年有 52 周这一事实有关。

enter image description here

因此 isoWeek 正确地在第 13 周重新运行,但是 week 重新运行第 14 周(可能),因为它认为每年由 52 周组成。

关于javascript - MomentJs 星期一按周数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63424478/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com