快速将 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 对象的最快方法?