firstDayOfFirstWeek static method
Returns start of the first day of the first week in year
.
For example: (2020, 4, 9, 15, 16) -> (2019, 12, 30, 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.
See getWeekNumber.
Implementation
static DateTime firstDayOfFirstWeek(int year, {int? firstWeekday}) {
assert(firstWeekday == null || firstWeekday > 0 && firstWeekday < 8);
final startOfYear = DateTime(year);
return isWeekInYear(startOfYear, year, firstWeekday)
? firstDayOfWeek(startOfYear, firstWeekday: firstWeekday)
: firstDayOfNextWeek(startOfYear, firstWeekday: firstWeekday);
}