prev method
Implementation
CronTime prev([DateTime? startAt]) {
var _date = _defaultDateTime(startAt);
if (seconds?.isNotEmpty == true) {
_date = _date.subtract(Duration(seconds: 1));
} else {
_date = _date.subtract(Duration(minutes: 1));
}
while (true) {
if (minutes?.isNotEmpty == true &&
_minutes.contains(_date.minute) == false) {
_date = _dec(_date, _DateTimeSegment.minute);
continue;
}
if (hours?.isNotEmpty == true && _hours.contains(_date.hour) == false) {
_date = _dec(_date, _DateTimeSegment.hour);
continue;
}
if (daysOfMonth?.isNotEmpty == true &&
_daysOfMonth.contains(_date.day) == false) {
_date = _dec(_date, _DateTimeSegment.day);
continue;
}
if (daysOfWeek?.isNotEmpty == true &&
_daysOfWeek.contains(_date.weekday) == false) {
_date = _dec(_date, _DateTimeSegment.day);
continue;
}
if (months?.isNotEmpty == true &&
_months.contains(_date.month) == false) {
_date = _dec(_date, _DateTimeSegment.day);
continue;
}
return CronTime(time: _date, schedule: this);
}
}