0

在我的项目中,我想应用条件,例如,用户只能选择距当前日期 3 个月的日期。

即我想显示一个包含月份和日期的日期选择器,范围为 90 天。

例如。11 月只进行,11 月 12 月 1 月应显示在日期选择器中进行选择。

我怎样才能做到这一点?

4

2 回答 2

2

你可以尝试这样的事情:

datePicker.maximumDate = Calendar.current.date(byAdding: .month, value: 3, to: Date())
于 2020-11-16T14:03:07.673 回答
1

UIDatePicker 具有minimumDatemaximumDate属性。使用这些设置您希望允许用户输入的日期范围。


编辑:

@wonder 发布代码来计算未来 3 个月的日期:

futureDate = Calendar.current.date(byAdding: .month, value: 3, to: Date())

或者,如果这是您想要的,您可以将 90天添加到当前日期:

futureDate = Calendar.current.date(byAdding: .day, value: 90, to: Date())

设置为datePickerMode.date用户只选择日期,而不是时间。

我不知道如何删除年份选择器,但如果您选择的日期范围为 90 天且都在同一年,他们将无法选择除当年之外的年份。

(请注意,从 10 月开始,90 天的日期范围包括 2 个不同年份的日期,因此无论如何您都需要年份。)

正如评论中所说,您可以使用 UIPickerView 创建自己的月份和日期选择器,但您需要添加逻辑来更改基于月份的天数,并排除当前月份过去的日期.

于 2020-11-16T13:58:11.140 回答