plusTime static method

DateTime plusTime(
  1. String dateTimeLikeStr,
  2. int amount,
  3. CertLogicTimeUnit unit
)

Implementation

static DateTime plusTime(
    String dateTimeLikeStr, int amount, CertLogicTimeUnit unit) {
  final dateTime = dateFromString(dateTimeLikeStr);
  switch (unit) {
    case CertLogicTimeUnit.HOUR:
      return DateTime.utc(
          dateTime.year,
          dateTime.month,
          dateTime.day,
          dateTime.hour + amount,
          dateTime.minute,
          dateTime.second,
          dateTime.millisecond);
    case CertLogicTimeUnit.DAY:
      return DateTime.utc(
          dateTime.year,
          dateTime.month,
          dateTime.day + amount,
          dateTime.hour,
          dateTime.minute,
          dateTime.second,
          dateTime.millisecond);
    case CertLogicTimeUnit.MONTH:
      return DateTime.utc(
          dateTime.year,
          dateTime.month + amount,
          dateTime.day,
          dateTime.hour,
          dateTime.minute,
          dateTime.second,
          dateTime.millisecond);
    case CertLogicTimeUnit.YEAR:
      if (dateTime.month == DateTime.february && dateTime.day == 29)
        return DateTime.utc(
            dateTime.year + amount,
            dateTime.month,
            dateTime.day - 1,
            dateTime.hour,
            dateTime.minute,
            dateTime.second,
            dateTime.millisecond);
      return DateTime.utc(
          dateTime.year + amount,
          dateTime.month,
          dateTime.day,
          dateTime.hour,
          dateTime.minute,
          dateTime.second,
          dateTime.millisecond);
  }
}