getDayOfWeek method

DateTime getDayOfWeek(
  1. int dayOfWeek
)

Implementation

DateTime getDayOfWeek(int dayOfWeek) {
  assert(dayOfWeek.debugCheckIsValidTimetableDayOfWeek());

  // Algorithm from https://en.wikipedia.org/wiki/ISO_week_date#`Calculating_an_ordinal_or_month_date_from_a_week_date`
  final base = weekOfYear * DateTime.daysPerWeek + dayOfWeek;
  final yearCorrection =
      DateTimeTimetable.date(weekBasedYear, 1, 4).weekday + 3;
  return DateTimeTimetable.date(weekBasedYear, 1, 1) +
      (base - yearCorrection - 1).days;
}