setDayOfWeek method

DateTime setDayOfWeek(
  1. int dayOfWeek
)

Copy DateTime with new dayOfWeek

Implementation

DateTime setDayOfWeek(int dayOfWeek) {
  final currentWeekDay = weekday;
  final dayOfWeekOffset = dayOfWeek - currentWeekDay;

  if (dayOfWeekOffset == 0) {
    return copyWith();
  } else if (dayOfWeekOffset > 0) {
    final adjustedDate = copyWith().add(Duration(days: dayOfWeekOffset));
    return adjustedDate;
  } else {
    final adjustedDate = copyWith().subtract(Duration(days: dayOfWeekOffset.abs()));
    return adjustedDate;
  }
}