如果该周恰好在连续 2 个月内,我需要知道该周属于的确切月份。例如,2016 年的第 52 周落在 2016 年 12 月和 2017 年 1 月。此外,2017 年的第 5 周从 2017 年 1 月 30 日至 2 月 5 日开始。
所以给定一年中的周数,我可以得到它所在的月份吗?我需要知道是否有任何 JS 库可以轻松实现这一点。
我知道我可以从特定日期值中获取周数,但还没有找到获取日期范围的方法,以便我可以从那里推导出月份。如果momentJS 或任何其他库都可以做到这一点,我该如何使用它们来实现这一点?
提前致谢
最佳答案
我们想为给定一周的开始和结束创建一个日期对象。
momentjs是一个很好的库,可以更轻松地使用日期对象。
var moment = require('moment');
function getMonths(weekNumber) {
var beginningOfWeek = moment().week(weekNumber).startOf('week');
var endOfWeek = moment().week(weekNumber).startOf('week').add(6, 'days');
console.log(beginningOfWeek.format('MMMM'));
console.log(endOfWeek.format('MMMM'));
}
给定周数,我们将创建一个 moment 对象,并在六天后创建另一个对象。然后我们在一周的开始和结束时记录月份。
这是一个例子:
getMonths(5);
January
February
关于javascript - 如何在 JS 中获取给定周数的日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42632266/