如何从swift中的datepicker获取开始和结束时间?

时间:2016-09-13 07:23:20

标签: ios swift nsdate nsdateformatter uidatepicker

我希望从datepicker中选择的日期开始和结束时间。

这是我的代码

 func handleDatePicker(sender: UIDatePicker) {
        let dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss"

    let startOfDay = NSCalendar.currentCalendar().startOfDayForDate(sender.date)

    let components = NSDateComponents()
    components.hour   = 23
    components.minute = 59
    components.second = 59
    let endOfDay = NSCalendar.currentCalendar().dateByAddingComponents(components, toDate: startOfDay, options: NSCalendarOptions(rawValue: 0))
}

但我得到的输出如2016-10-12 12:00:00

我的问题是如何获得如此输出的方法

12-09-2016 00:00:00 AND 12-09-2016 23:59:59

1 个答案:

答案 0 :(得分:2)

尝试以下代码: -

        let calendar = NSCalendar(calendarIdentifier:NSCalendarIdentifierGregorian)
        calendar?.timeZone =  NSTimeZone(abbreviation: "GMT")!
        let startOfDay = calendar?.startOfDayForDate(sender.date)

        print("startDay \(startOfDay)")
        let components = NSDateComponents()
        components.hour   = 23
        components.minute = 59
        components.second = 59
        components.timeZone =  NSTimeZone(abbreviation: "GMT")

        let endOfDay = calendar?.dateByAddingComponents(components, toDate: startOfDay!, options: NSCalendarOptions(rawValue: 0))
        print("end Day \(endOfDay)")