If I have a UIDatePicker, and I wish to set the minimum and maximum date range to be between thirty years ago and thirty years in the future, how would I set that up?
Not tested, but you probably want something like this.
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSDate *currentDate = [NSDate date]; NSDateComponents *comps = [[NSDateComponents alloc] init]; [comps setYear:30]; NSDate *maxDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0]; [comps setYear:-30]; NSDate *minDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0]; [datePicker setMaximumDate:maxDate]; [datePicker setMinimumDate:minDate];
Update for Swift 4.1
let calendar = Calendar(identifier: .gregorian) var comps = DateComponents() comps.year = 30 let maxDate = calendar.date(byAdding: comps, to: Date()) comps.year = -30 let minDate = calendar.date(byAdding: comps, to: Date()) datePicker.maximumDate = maxDate datePicker.minimumDate = minDate
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With