lastFourWeeks property

List<DateRange> get lastFourWeeks

Implementation

List<DateRange> get lastFourWeeks {
  var mondayThisWeek = this;
  while (mondayThisWeek.weekday != DateTime.monday) {
    mondayThisWeek = mondayThisWeek.subtract(const Duration(days: 1));
  }
  final monday = mondayThisWeek.thisDayFirstSecond;
  final sunday19Nov2023 = DateTime(
          mondayThisWeek.year, mondayThisWeek.month, mondayThisWeek.day + 6)
      .thisDayLastSecond;
  final thisWeek = DateRange(monday, sunday19Nov2023);
  final lastWeek = DateRange(monday.subtract(Duration(days: 7)),
      sunday19Nov2023.subtract(Duration(days: 7)));
  final twoWeeksAgo = DateRange(monday.subtract(Duration(days: 14)),
      sunday19Nov2023.subtract(Duration(days: 14)));
  final threeWeeksAgo = DateRange(monday.subtract(Duration(days: 21)),
      sunday19Nov2023.subtract(Duration(days: 21)));
  return [thisWeek, lastWeek, twoWeeksAgo, threeWeeksAgo];
}