addMonths method
Adds whole months, clamping the day (Jan 31 + 1 month → Feb 28/29). date.addMonths(1)
Implementation
DateTime addMonths(int months) {
final int target = year * 12 + month - 1 + months;
final int y = target ~/ 12;
final int m = target % 12 + 1;
final int lastDay = DateTime(y, m + 1, 0).day;
return copyWith(year: y, month: m, day: min(day, lastDay));
}