Используйте следующий код для установки минимального и максимального времени, надеюсь, это поможет вам.
С помощью DateComponents
установите часы и минуты в Date
, а затем присвойте минимальное и максимальное значение datePicker
let startHour: Int = 6
let endHour: Int = 23
let date1: NSDate = NSDate()
let gregorian: NSCalendar = NSCalendar(calendarIdentifier: NSCalendar.Identifier.gregorian)!
var components: DateComponents = gregorian.components(([.day, .month, .year]), from: date1 as Date)
components.hour = startHour
components.minute = 0
components.second = 0
let startDate: Date = gregorian.date(from: components)!
components.hour = endHour
components.minute = 0
components.second = 0
let endDate: Date = gregorian.date(from: components)!
timePicker.datePickerMode = .Time
timePicker.minimumDate = startDate
timePicker.maximumDate = endDate
timePicker.setDate(startDate, animated: true)
timePicker.reloadInputViews()