首页 > 解决方案 > moment(?).year(?).week(?).weekday(?).format('MM/DD/YYYY') 在 12 月不起作用

问题描述

该问题特定于 moment.year()

我正在尝试根据当前日期获取下周的开始日期。除了一年中的最后一个月外,它运行良好。这个例子应该解释。

new Date(moment(1577379939000).year(2020).week(1).weekday(0).format('MM/DD/YYYY'))
Sun Dec 29 2019 00:00:00 GMT-0500 (Eastern Standard Time)        

这给了我 2019 年 12 月 29 日星期日 00:00:00 GMT-0500(东部标准时间)2019 年 12 月 29 日作为下周开始(星期日)这是正确的 1577379939000 是 2019 年 12 月 26 日(星期四)。

但是,如果输入是 1577466306000,即 2019 年 12 月 27 日(星期五),它会给出 2020 年 12 月的日期,而不是 2019 年

new Date(moment(1577466306000).year(2020).week(1).weekday(0).format('MM/DD/YYYY'))
Sun Dec 27 2020 00:00:00 GMT-0500 (Eastern Standard Time)    

如果是 moment.js 错误。有什么解决方法吗?

标签: javascriptdatemomentjs

解决方案


尝试使用 weekYear 而不是 year


推荐阅读