setWeekYear method

Hora setWeekYear(
  1. int targetYear, {
  2. WeekConfig config = WeekConfig.iso,
})

Sets the week year, returning a new Hora.

Implementation

Hora setWeekYear(int targetYear, {WeekConfig config = WeekConfig.iso}) {
  _validateWeekConfig(config);
  final currentWeek = _weekOfYear(config);
  final currentWeekday = _adjustedWeekday(config);

  final firstWeekStart = _firstWeekStart(targetYear, config);
  final targetDate = firstWeekStart.add(
    Duration(days: (currentWeek - 1) * 7 + currentWeekday),
  );

  return copyWith(
    year: targetDate.year,
    month: targetDate.month,
    day: targetDate.day,
  );
}