setListOfDate method

void setListOfDate(
  1. DateTime monthDate
)

Implementation

void setListOfDate(DateTime monthDate) {
  dateList.clear();
  final DateTime firstDayOfMonth =
      DateTime(monthDate.year, monthDate.month, 1);
  final int previousMonthDays = firstDayOfMonth.weekday - 1;

  // Add previous month's trailing days
  for (int i = previousMonthDays; i > 0; i--) {
    dateList.add(firstDayOfMonth.subtract(Duration(days: i)));
  }

  // Add current month's days
  for (int i = 0;
      i < DateTime(monthDate.year, monthDate.month + 1, 0).day;
      i++) {
    dateList.add(firstDayOfMonth.add(Duration(days: i)));
  }

  // Add next month's leading days
  while (dateList.length % 7 != 0) {
    dateList.add(dateList.last.add(const Duration(days: 1)));
  }
}