Swift 2.1 DatePicker setDate不会将日期设置为当前日期和指定时间

时间:2016-01-27 16:03:26

标签: ios datepicker swift2

我正在尝试在日期选择器上将最小日期设置为当天,然后为了用户体验,将时间设置为晚上7点或19:00。由于某种原因,它似乎没有起作用。最小日期设置有效但时间未设置。如果我删除最小日期行,时间设置为晚上7点,但奇怪的是,日期设置为1月1日星期一。这甚至不是今年。

以下是我的代码:

GROUP BY

我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

将最后一行拆分为:

let date = calendar.dateFromComponents(components)!
datePicker.setDate(date, animated: true)

然后查看date的值。您可能会发现它可能是在2000年1月1日所需的时间。

通过将年,月和日组件添加到:

来解决此问题
let components = calendar.components([NSCalendarUnit.Hour, NSCalendarUnit.Minute], fromDate: NSDate())

换句话说,你需要:

let components = calendar.components([NSCalendarUnit.Year, NSCalendarUnit.Month, NSCalendarUnit.Day, NSCalendarUnit.Hour, NSCalendarUnit.Minute], fromDate: NSDate())