[英]Getting current time from datepicker if interval has set for datepicker in Swift
[英]Swift 2.1 DatePicker setDate does not set date to current day and specified time
我正在尝试将最小日期设置为日期选择器上的当前日期,然后为了用户体验,将时间设置为7pm或19:00。 由于某种原因,它似乎无法正常工作。 最小日期设置有效,但未设置时间。 如果我删除了最小日期行,则时间设置为晚上7点,但是奇怪的是,日期设置为1月1日,星期一。
这是我的代码如下:
datePicker.minimumDate = NSDate()
let calendar:NSCalendar = NSCalendar.currentCalendar()
let components = calendar.components([NSCalendarUnit.Hour, NSCalendarUnit.Minute], fromDate: NSDate())
components.hour = 19
components.minute = 00
datePicker.setDate(calendar.dateFromComponents(components)!, animated: true)
我在这里做错了什么?
将最后一行分成:
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())
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.