Swift 根据用户输入的日期启用和禁用时间选择器过去的时间
Swift enable and disable time picker past time based on user input date
在我的场景中,我正在验证用户输入当前 date
或基于它的不同日期我需要启用和禁用时间选择器过去的时间限制。如果用户输入当前日期则需要限制过去的时间 picker
否则需要显示所有 time
列表。
下面是我的代码
// MARK: Validate Current Date or Not Based on it Need to enable and disable timepicker past time
let dateCurrents = Date()
let formatters = DateFormatter()
formatters.dateFormat = "yyyy-MM-dd"
let resultDate = formatters.string(from: dateCurrents)
if fullDate == resultDate {
print("Same Date Past Time Disabled")
let nows = Date()
timePickerView.minimumDate = nows
timePickerView.date = nows
} else {
print("Different Date Past Time Enabled")
timePickerView.minimumDate =
timePickerView.date = // Need to Enable Past Time
}
您可以执行以下操作:
let fullDate = datePickerView.date
let now = Date()
let calendar = Calendar.current
let result = calendar.compare(now, to: fullDate, toGranularity: .day)
let isSameDay = result == .orderedSame
if isSameDay {
print("Same Date Past Time Disabled")
timePickerView.minimumDate = now
timePickerView.date = now
} else {
print("Different Date Past Time Enabled")
timePickerView.minimumDate = nil
timePickerView.date = now
}
在我的场景中,我正在验证用户输入当前 date
或基于它的不同日期我需要启用和禁用时间选择器过去的时间限制。如果用户输入当前日期则需要限制过去的时间 picker
否则需要显示所有 time
列表。
下面是我的代码
// MARK: Validate Current Date or Not Based on it Need to enable and disable timepicker past time
let dateCurrents = Date()
let formatters = DateFormatter()
formatters.dateFormat = "yyyy-MM-dd"
let resultDate = formatters.string(from: dateCurrents)
if fullDate == resultDate {
print("Same Date Past Time Disabled")
let nows = Date()
timePickerView.minimumDate = nows
timePickerView.date = nows
} else {
print("Different Date Past Time Enabled")
timePickerView.minimumDate =
timePickerView.date = // Need to Enable Past Time
}
您可以执行以下操作:
let fullDate = datePickerView.date
let now = Date()
let calendar = Calendar.current
let result = calendar.compare(now, to: fullDate, toGranularity: .day)
let isSameDay = result == .orderedSame
if isSameDay {
print("Same Date Past Time Disabled")
timePickerView.minimumDate = now
timePickerView.date = now
} else {
print("Different Date Past Time Enabled")
timePickerView.minimumDate = nil
timePickerView.date = now
}