addWeeks method
Returns a new DateTime where the week is weeks from this week and the
DateTime.weekday is equal to weekday.
Implementation
@override
DateTime addWeeks(DateTime date, int weeks) {
if (weeks == 0) return date;
final localDate = date.copyWith();
if (!valid(localDate)) {
return addWeeks(startDate(date), weeks + (weeks.isNegative ? 0 : -1));
}
final day = localDate.toUtc().addDays(weeks * 7);
return _solveFor(localDate, day);
}