Я использую библиотеку date-fns для создания календаря, и мне нужно получать недели в течение месяца.
let start = startOfMonth(date)
let end = endOfMonth(date)
let firstWeek = getISOWeek(start)
let lastWeek = getISOWeek(end)
let weeks = []
for (let i = firstWeek; i < lastWeek + 1; i++) {
weeks.push(i)
}
return weeks
Это хорошо работает в течение большинства месяцев, за исключением месяца декабря, где недели пусты, потому что firstWeek и lastWeek составляют «48» и «1» соответственно.
Я знаю, что могу исправить это с помощью более сложного цикла, чтобы проверить, будет ли каждая итерация выше или ниже предыдущей, но мне интересно, есть ли более естественный / простой способ достичь этого с помощью date-fns (или es6).
javascript,ecmascript-6,date-fns,
Я использую библиотеку date-fns для создания календаря, и мне нужно получать недели в течение месяца.
let start = startOfMonth(date)
let end = endOfMonth(date)
let firstWeek = getISOWeek(start)
let lastWeek = getISOWeek(end)
let weeks = []
for (let i = firstWeek; i < lastWeek + 1; i++) {
weeks.push(i)
}
return weeks
Это хорошо работает в течение большинства месяцев, за исключением месяца декабря, где недели пусты, потому что firstWeek и lastWeek составляют «48» и «1» соответственно.
Я знаю, что могу исправить это с помощью более сложного цикла, чтобы проверить, будет ли каждая итерация выше или ниже предыдущей, но мне интересно, есть ли более естественный / простой способ достичь этого с помощью date-fns (или es6).
00JavaScript, ECMAScript-6, дата-FNS,