calendarAddMonths function

DateTime calendarAddMonths(
  1. DateTime dt,
  2. int months
)

Implementation

DateTime calendarAddMonths(DateTime dt, int months) {
  var y = dt.year;
  var m = dt.month + months;
  y += (m - 1) ~/ 12;
  m = ((m - 1) % 12) + 1;
  final d = dt.day;
  final maxDay = _daysInMonth(y, m);
  final day = d > maxDay ? maxDay : d;
  return dt.isUtc
      ? DateTime.utc(y, m, day, dt.hour, dt.minute, dt.second, dt.millisecond, dt.microsecond)
      : DateTime(y, m, day, dt.hour, dt.minute, dt.second, dt.millisecond, dt.microsecond);
}