getWeeksNumbersInMonth method
- StartingDayOfWeek startingDayOfWeek,
- DateTime focusedDay
Gets the week numbers for a month
Implementation
List<int> getWeeksNumbersInMonth(StartingDayOfWeek startingDayOfWeek, DateTime focusedDay) {
final int startingDayOfWeekInt = startingDayOfWeekToInt(startingDayOfWeek);
final DateTime startOfMonthDate = DateTime(year, month);
final DateTime endOfMonthDate =
DateTime(year, month).endOfMonth._firstDayOfWeek(startingDayOfWeekInt).add(const Duration(days: 6));
final int monthTotal = endOfMonthDate.difference(startOfMonthDate).inDays;
final List<DateTime> weekNumbers = <DateTime>[];
for (int i = 0; i < monthTotal; i = i + 7) {
weekNumbers.add(startOfMonthDate.add(Duration(days: i))._firstDayOfWeek(startingDayOfWeekInt));
}
final List<int> weeks = <int>[];
for (final DateTime week in weekNumbers) {
final int weekNum = _getWeekNumber(week, startingDayOfWeekInt);
weeks.add(weekNum);
}
return weeks;
}