【发布时间】:2018-02-10 11:03:08
【问题描述】:
我需要将以下日期字符串转换为 Swift 3 中的日期。
Fri Dec 09 16:18:43 AMST 2016
这是我一直在使用的代码,但它通过这个特定的日期字符串转换获得了现金。 (这个日期是在Android上使用new Date().toString()方法记录的。)
static func formatDate(date: String) -> String {
let dateFormatter = DateFormatter()
dateFormatter.timeZone = TimeZone(secondsFromGMT: 0)
dateFormatter.dateFormat = "EEE MMM dd HH:mm:ss zzz yyyy"
//Works for "Fri Sep 16 10:55:48 GMT+05:30 2016"
var myDate = dateFormatter.date(from: date)
// My date returns nil on "Fri Dec 09 16:18:43 AMST 2016"
dateFormatter.dateFormat = "dd/MM/yyyy"
return "\(dateFormatter.string(from: myDate!))"
}
数据库中有两种类型的字符串。我尝试了各种类型的时区格式(z/zz/zzz/zzzz/zzzzz),但总是 myDate 返回 nil。
任何帮助将不胜感激。 提前致谢。
【问题讨论】:
-
字符串包含
AMST -
使用这个:nsdateformatter.com
-
尝试不使用时区,如果这不起作用,请尝试将您的日期格式重新安排为“EEE MMM dd HH:mm:ss zzz yyyy”和 dateFormatter.timeZone = NSTimeZone.local 或尝试设置 Local .current
标签: ios swift nsdateformatter nstimezone