设置maximumDate时,日期选择器返回错误的日期

时间:2019-07-15 12:31:50

标签: ios swift uidatepicker swift4.2

我有一个日期选择器,其中我将maximumDate设置为2年之前

今天是15/07/2019,所以距2年后的2017年7月15日

现在,当我打开日期选择器时,自动选择器将从今天的日期(2019年7月15日)更改为2017年7月15日,因为我将maximateDate设置为2年之前

现在,我不滚动日期选择器,并单击读取选择器日期的“完成”按钮。

print("mDoneAction===\(mDatePicker.date)")

此打印日期如下。

2019-07-15 12:26:17 +0000

任何想法为什么会在2019年7月15日而不是2019年7月15日设置为我提供2019年而不是2017年的选择器。

1 个答案:

答案 0 :(得分:2)

来自文档

open var date: Date // default is current date when picker created.

因此设置maximumDate不会影响date,您还需要设置date

let d = UIDatePicker()
let year2Before = Calendar.current.date(byAdding: .year, value:-2, to: Date())!
d.date = year2Before
d.maximumDate = year2Before