addDaysToDate static method

DateTime addDaysToDate(
  1. DateTime date,
  2. int days
)

Implementation

static DateTime addDaysToDate(DateTime date, int days) {
  DateTime newDate = date.add(Duration(days: days));

  if (date.hour != newDate.hour) {
    final int hoursDifference = date.hour - newDate.hour;

    if (hoursDifference <= 3 && hoursDifference >= -3) {
      newDate = newDate.add(Duration(hours: hoursDifference));
    } else if (hoursDifference <= -21) {
      newDate = newDate.add(Duration(hours: 24 + hoursDifference));
    } else if (hoursDifference >= 21) {
      newDate = newDate.add(Duration(hours: hoursDifference - 24));
    }
  }
  return newDate;
}