1 | import moment from 'moment';
|
2 |
|
3 | function getBlankDaysBeforeFirstDay(firstDayOfMonth, firstDayOfWeek) {
|
4 | const weekDayDiff = firstDayOfMonth.day() - firstDayOfWeek;
|
5 | return (weekDayDiff + 7) % 7;
|
6 | }
|
7 |
|
8 | export default function getNumberOfCalendarMonthWeeks(
|
9 | month,
|
10 | firstDayOfWeek = moment.localeData().firstDayOfWeek(),
|
11 | ) {
|
12 | const firstDayOfMonth = month.clone().startOf('month');
|
13 | const numBlankDays = getBlankDaysBeforeFirstDay(firstDayOfMonth, firstDayOfWeek);
|
14 | return Math.ceil((numBlankDays + month.daysInMonth()) / 7);
|
15 | }
|