将可选字符串转换为日期

Convert Optional string to date

我有这个 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)

我总是得到一个零值

您需要使用 NSDateFormatter 并对其调用 dateFromString: 以从字符串中获取日期。请参阅 Apple's NSDateFormatter documentation 以了解如何执行所需操作的详细说明。

如果您从 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

在 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) 

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

dateFormatter = NSDateFormatter() println(日期格式化程序) dateFormatter.dateFormat = "yyyy-MM-dd" 让 s = dateFormatter.string(来自: dateString)