将可选字符串转换为日期

时间:2015-07-27 18:48:30

标签: ios swift nsdate nsdateformatter

我将此Optional(2015-07-27 19:29:50 +0000)作为字符串?我想将它转换为日期(NSDate),但我无法弄明白我已经在寻找解决方案,但我对编码很新,所以如果有人能提供帮助我会很感激。

这是我用来将字符串转换为当前日期的内容。

注意:dateString是Optional(2015-07-27 19:29:50 +0000)

dateFormatter = NSDateFormatter()
println(dateFormatter)
dateFormatter.dateFormat = "yyyy-MM-dd"
let s = dateFormatter.dateFromString(dateString)

我总是得到一个零值

4 个答案:

答案 0 :(得分:42)

如果您从NSDateFormatter获得nil,则可能指定了错误的日期格式。试试这个:

let strTime = "2015-07-27 19:29:50 +0000"
let formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss Z"
formatter.dateFromString(strTime) // Returns "Jul 27, 2015, 12:29 PM" PST

答案 1 :(得分:0)

您需要使用NSDateFormatter并在其上调用dateFromString:以从字符串中获取日期。请参阅Apple's NSDateFormatter documentation,了解如何做您想做的事情。

答案 2 :(得分:0)

在swift 3.0中:

let strTime = "2015-07-27 19:29:50 +0000"
let formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss Z"
formatter.date(from: strTime) 

答案 3 :(得分:0)

dateString已经是日期,需要转换为字符串。下面的代码工作正常

dateFormatter = NSDateFormatter() 的println(dateFormatter) dateFormatter.dateFormat =“yyyy-MM-dd” let s = dateFormatter.string(from:dateString)