firstDayOfWeek static method

DateTime firstDayOfWeek(
  1. DateTime dateTime,
  2. {int? firstWeekday}
)

Returns start of the first day of the week for specified dateTime.

For example: (2020, 4, 9, 15, 16) -> (2020, 4, 6, 0, 0, 0, 0).

You can define first weekday (Monday, Sunday or Saturday) with parameter firstWeekday. It should be one of the constant values DateTime.monday, ..., DateTime.sunday.

By default it's DateTime.monday.

Implementation

static DateTime firstDayOfWeek(DateTime dateTime, {int? firstWeekday}) {
  assert(firstWeekday == null || firstWeekday > 0 && firstWeekday < 8);

  var days = dateTime.weekday - (firstWeekday ?? DateTime.monday);
  if (days < 0) days += DateTime.daysPerWeek;

  return _date(
      dateTime.isUtc, dateTime.year, dateTime.month, dateTime.day - days);
}