subtractMonths static method

DateTime subtractMonths(
  1. DateTime date,
  2. int count
)

Subtracts the specified number of months from the given DateTime.

Implementation

static DateTime subtractMonths(DateTime date, int count) {
  assert(count >= 0);

  count = count * -1;

  int newYear =
      date.year + count ~/ 12 + ((date.month + count % 12) > 12 ? 1 : 0);

  int newMonth = (date.month + count) % 12 == 0
      ? 12
      : (date.month + count) % 12;

  DateTime newData = DateTime(newYear, newMonth, date.day);

  return newData;
}