转换TimeString yyyy-mm-dd HH:mm:ss到NSDate时间HH:mm AM / PM in swift

时间:2016-05-27 11:47:41

标签: ios swift nsdate nstimezone

我想将时间字符串转换为 NSDate时间 HH:mm:a 格式。我现在有一个代码

let defaultStartTime = json!["start_schedule_datetime"] as? String
 let defaultEndTime = json!["end_schedule_datetime"] as? String



                    print(defaultStartTime,defaultEndTime)

                    dispatch_async(dispatch_get_main_queue(), {

                        let dtf = NSDateFormatter()
                        dtf.timeZone = NSTimeZone(name: "UTC")
                        dtf.dateFormat = "HH:mm a"

                        let defaultStartdate : NSDate = dtf.dateFromString(defaultStartTime!)!
                        let defaultEnddate : NSDate = dtf.dateFromString(defaultEndTime!)!

                        print(defaultStartdate,defaultEnddate)

                        self.startTime.date = defaultStartdate
                        self.endTime.date = defaultEnddate
                        self.endTime.reloadInputViews()
                        self.startTime.reloadInputViews()

                        })

其中: -

start_schedule_datetime = 2016-05-27 13:35:00
end_schedule_datetime = 2016-05-27 19:35:00

我希望时间进入 HH:mm a 。但当我试图这样做时,我正在

  

致命错误:在解包可选值时意外发现nil

任何人都可以帮助我。谢谢

2 个答案:

答案 0 :(得分:3)

这是每个人最好的解决方案之一。 您可以轻松地从日期获得您想要的东西。此外,您还可以了解dateformatter。

参考1: http://nsdateformatter.com/

编辑1

参考2: For Ready made code

祝你好运。

答案 1 :(得分:0)

检查以下答案。显示当前日期和日期选择日期。

 let dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd hh:mm a"
    print(dateFormatter.stringFromDate(NSDate())) //if you want current date
    print(dateFormatter.stringFromDate(yourdatepickername.date) //if you want your selective date