daysInMonth method

List<DateTime> daysInMonth (DateTime month, { bool startOnMonday: false })

Returns a grid-like list of DateTimes in a given month, with 35 items.

startOnMonday will start the grid on Monday instead of Sunday.

Implementation

static List<DateTime> daysInMonth(
  DateTime month, {
  bool startOnMonday = false,
}) {
  final first = firstDayOfMonth(month);
  final daysBefore = _getDaysBefore(
      first, startOnMonday ? DayOfWeek.monday : DayOfWeek.sunday);
  final firstToDisplay = first.subtract(Duration(days: daysBefore));

  final last = lastDayOfMonth(month);
  final daysAfter = _getDaysAfter(
      last, startOnMonday ? DayOfWeek.monday : DayOfWeek.sunday);

  final lastToDisplay = last.add(Duration(days: daysAfter));
  return daysInRange(firstToDisplay, lastToDisplay).toList();
}