subtractYears static method

DateTime subtractYears(
  1. DateTime date,
  2. int yearsToSubtract
)

Implementation

static DateTime subtractYears(DateTime date, int yearsToSubtract) {
  final newYear = date.year - yearsToSubtract;
  final newMonth = date.month;
  final newDay = date.day;

  DateTime newDate;
  try {
    newDate = DateTime(
      newYear,
      newMonth,
      newDay,
      date.hour,
      date.minute,
      date.second,
      date.millisecond,
      date.microsecond,
    );
  } catch (e) {
    newDate = DateTime(
      newYear,
      newMonth + 1,
      0,
      date.hour,
      date.minute,
      date.second,
      date.millisecond,
      date.microsecond,
    );
  }
  return newDate;
}