firstDayOfWeek static 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
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);
}