add method
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,
);
}
}