What you need is a today date without time and then set the time manually on it to get a date you need. Date components are perfect for that:
func getTodayDate(at: (hour: Int, minute: Int)) -> Date {
let dateComponents = Calendar.autoupdatingCurrent.dateComponents([.year, .month, .day], from: Date())
dateComponents.hour = at.hour
dateComponents.minute = at.minute
return Calendar.autoupdatingCurrent.date(from: dateComponents)
}
Objective-C
- (NSDate *)getTodayDateAt:(NSInteger)hour minute:(NSInteger)minute {
NSCalendar *calendar = [NSCalendar autoupdatingCurrentCalendar];
NSDateComponents *components = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:[NSDate date]];
components.hour = hour;
components.minute = minute;
return [calendar dateFromComponents:components];
}
Now just set it to your date picker:
_datePicker.date = ...
Make sure your date picker uses the same calendar though.