设置 maximumDate 时 Datepicker 返回错误的日期

Datepicker is returning wrong date when set maximumDate

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

今天是 2019 年 7 月 15 日,所以在它变成 2017 年 7 月 15 日之前还有 2 年

现在当我打开日期选择器时,自动选择器会从今天 (15/07/2019) 到 15/07/2017 因为我已经将 maximumDate 设置为 2 年前

现在我不再滚动日期选择器并单击我阅读选择器日期的完成按钮。

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

打印日期如下。

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

知道为什么它给我 2019 而不是 2017 作为选择器已经设置在 15-07-2017 而不是 15-07-2019。

来自文档

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