繁体   English   中英

Swift UIDatePicker限制未来的年份而不是月份和日期

[英]Swift UIDatePicker restrict future year not month and date

datePicker.maximumDate = Date()

将禁用将来的日期,我只想限制将来的年份。用户可以选择将来的月份和日期。 如何做到这一点。任何帮助将不胜感激。

提前致谢

我相信这就是您想要的:

let picker = UIDatePicker()
let calendar = Calendar.current
let currentYear = calendar.component(.year, from: Date())
guard let maximumDate = calendar.date(from: DateComponents(year: currentYear + 1))?.addingTimeInterval(-1) else {
    fatalError("Couldn't get next year")
}
picker.maximumDate = maximumDate
print(picker.maximumDate ?? "")

最长日期应为日期选择器中的December 31st, 2018 at 23:59:59

您可以将UIDatePicker限制为仅允许当年的将来日期,可以构造与下一年开始相对应的Date对象,并将其用作maximumDate

let thisYear = Calendar.current.component(.year, from: Date())
datePicker.maximumDate = Calendar.current.date(from: DateComponents(year: thisYear+1))

获取当前日期并从中提取年份。 (使用Calendar函数date(from:) 。)为该年12月31日创建DateComponents。 使用它来创建一个日期。 使日期选择器的最大日期。 这将使用户可以选择当年的任何日期,但不能提前年份。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM