add method

  1. @override
Gregorian add({
  1. int years = 0,
  2. int months = 0,
  3. int days = 0,
})
override

makes a new date instance and add days, months and years separately

Original date object remains unchanged

Note: It does not make any conversion, it simply adds to each field value and changes ALL at once

This Method is NOT safe for month and day bounds

Recommended: Use separate add*() methods

Implementation

@override
Gregorian add({int years = 0, int months = 0, int days = 0}) {
  if (years == 0 && months == 0 && days == 0) {
    return this;
  } else {
    return Gregorian(
      year + years,
      month + months,
      day + days,
    );
  }
}