firstDayOfWeek method
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
DateTime firstDayOfWeek(DateTime dateTime, {int firstWeekday = DateTime.monday}) {
assert(firstWeekday > 0 && firstWeekday < 8);
var days = dateTime.weekday - (firstWeekday);
if (days < 0) days += DateTime.daysPerWeek;
return _date(dateTime.isUtc, dateTime.year, dateTime.month, dateTime.day - days);
}