设置 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
我有一个日期选择器,我将 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