快速将 TimeString yyyy-mm-dd HH:mm:ss 转换为 NSDate 时间 HH:mm AM/PM [重复]

Posted

技术标签:

【中文标题】快速将 TimeString yyyy-mm-dd HH:mm:ss 转换为 NSDate 时间 HH:mm AM/PM [重复]【英文标题】:Convert TimeString yyyy-mm-dd HH:mm:ss to NSDate Time HH:mm AM/PM in swift [duplicate] 【发布时间】:2016-05-27 11:47:40 【问题描述】:

我想将时间字符串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

谁能帮帮我。谢谢

【问题讨论】:

您的日期格式应该类似于 start_schedule_datetime。如果您只想存储日期时间,则存储它已转换。稍后您可以将其转换为 HH:mm 格式以供显示 @Bhavin 是的,我确定我的默认 defaultStartTime 或 defaultEndTime 不为空 @Ankita Shah,你是对的,我确实转换了它,但你知道如何将字符串转换为 NSDate 【参考方案1】:

这是适合所有人的最佳解决方案之一。 你可以很容易地从日期中得到你想要的。您还可以了解 dateformatter。

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

编辑 1

参考2:For Ready made code

祝你好运。

【讨论】:

已检查答案非常感谢@Chetan Prajapati,这对我很有帮助【参考方案2】:

检查下面的答案。当前日期和日期选择器日期均显示。

 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

【讨论】:

回答已检查,我尝试使用您的解决方案进行更新,它开始工作了非常感谢您的帮助

以上是关于快速将 TimeString yyyy-mm-dd HH:mm:ss 转换为 NSDate 时间 HH:mm AM/PM [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何快速转换日期 yyyy-mm-dd'T'HH:mm:ss.SSSZ [重复]

Actionscript 3 - 将 yyyy-mm-dd hh:mm:ss 解析为 Date 对象的最快方法?

js时间转换为时间戳

PHP:以YYYY-MM-DD格式获取两个日期之间的天数[重复]

将字符串'yyyy-mm-dd'转换为日期时间[重复]

在excel中如何快速将一竖排数字转化为log形式?我知道用函数,可是要求一次性转化,不是再输入数字谢谢!