UIDatePicker 时间问题
UIDatePicker Time Issues
我的 UIDatePicker 有问题:
当它首次出现在视图中时,如您在屏幕截图中所见,
UIDatePicker 的初始值表示今天 3:00 下午,但如果我单击完成按钮,标签会显示 3:07(这是实际时间)。
我想让 Label 和 UIDatePicker 同时显示。
这是我的代码:
override func viewDidLoad() {
super.viewDidLoad()
myDatePicker.minuteInterval = 15
}
@IBAction func datePickerAction(sender: AnyObject) {
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy HH:mm"
var strDate = dateFormatter.stringFromDate(myDatePicker.date)
self.selectedDate.text = strDate
}
您需要首先将初始日期调整为离散的分钟数。我相信一旦 更改 值,您的日期选择器就可以正常工作,对吧?当您将日期选择器设置为日期(如 3:07)但日期选择器设置为仅显示 15 分钟的增量时,它会显示 3:00,但设置的日期仍为 3:07 ].
let allUnits = NSCalendarUnit(rawValue: UInt.max)
let components = NSCalendar.currentCalendar().components(allUnits, fromDate: NSDate())
var minute = components.minute
minute = (minute / 15) * 15
components.minute = minute
let datePickerDate = NSCalendar.currentCalendar().dateFromComponents(components)
这总是向下舍入分钟(虽然如果 minute % 15 > 7
你可能想向上舍入,然后考虑向上舍入到 60
),但你明白了。
我的 UIDatePicker 有问题:
当它首次出现在视图中时,如您在屏幕截图中所见,
UIDatePicker 的初始值表示今天 3:00 下午,但如果我单击完成按钮,标签会显示 3:07(这是实际时间)。 我想让 Label 和 UIDatePicker 同时显示。
这是我的代码:
override func viewDidLoad() {
super.viewDidLoad()
myDatePicker.minuteInterval = 15
}
@IBAction func datePickerAction(sender: AnyObject) {
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy HH:mm"
var strDate = dateFormatter.stringFromDate(myDatePicker.date)
self.selectedDate.text = strDate
}
您需要首先将初始日期调整为离散的分钟数。我相信一旦 更改 值,您的日期选择器就可以正常工作,对吧?当您将日期选择器设置为日期(如 3:07)但日期选择器设置为仅显示 15 分钟的增量时,它会显示 3:00,但设置的日期仍为 3:07 ].
let allUnits = NSCalendarUnit(rawValue: UInt.max)
let components = NSCalendar.currentCalendar().components(allUnits, fromDate: NSDate())
var minute = components.minute
minute = (minute / 15) * 15
components.minute = minute
let datePickerDate = NSCalendar.currentCalendar().dateFromComponents(components)
这总是向下舍入分钟(虽然如果 minute % 15 > 7
你可能想向上舍入,然后考虑向上舍入到 60
),但你明白了。