我现在有一个帖子讨论了Minimum and maximum date in UIDatePicker
中的最短和最长日期时间但我现在是编程的初学者,我对日期和时间对象有点困惑。我尝试过,但我无法正确设置日期时间选择器。所以我想将我的日期时间选择器设置为最小和最大限制时间。
最小值为Now,最长为1个月。我必须使用什么代码?提前致谢
答案 0 :(得分:1)
你可以尝试
self.datePicker.minimumDate = Date()
self.datePicker.maximumDate = Calendar.current.date(byAdding: .day, value: 30 , to:Date())!
或
self.datePicker.maximumDate = Calendar.current.date(byAdding: .month, value: 1 , to:Date())!
答案 1 :(得分:1)
我建议使用Calendar
的日期数学技能。它计算下个月的同一天。如果该日期不存在(例如2月30日),则返回下一个最接近的可用日期。
let now = Date()
let calendar = Calendar.current
let dayComponents = calendar.dateComponents([.day], from: now)
let maximumDate = calendar.nextDate(after: now, matching: dayComponents, matchingPolicy: .nextTime)
答案 2 :(得分:0)
要在将来的一个月内获得Date
(考虑到不同的月份长度),您可以使用Date.date(byAdding:value:to:)
,例如如在this answer中那样。您可以获取结果并将其设置为选择器的maximumDate
。