格式 (Y-m-d H:i:s) in swift 3 returns nil

Format (Y-m-d H:i:s) in swift 3 returns nil

我正在使用这个功能

 func getDateFromString(date: String) -> Date
{

    let dateFromatter  = DateFormatter()
    dateFromatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
    dateFromatter.timeZone = TimeZone(identifier: "UTC-2")
    let date = dateFromatter.date(from: date)

    return date!
}

效果很好,returns 日期,例如:2017-07-01 22:00:00, 但是当我将甲酸盐更改为 dateFromatter.dateFormat = "Y-m-d H:i:s" 它 returns nil。 如何解决此问题并获取此格式的日期 Y-m-d H:i:s?

从技术上讲,两种格式 PHP Y-m-d H:i:s 和 Cocoa yyyy-MM-dd HH:mm:ss 是相同的,但 Cocoa 只考虑其自己的格式。

既然 它运行良好 Cocoa 格式有什么问题?

日期格式化程序格式使用 Unicode technical standard 35。从阅读中可以看出,i 不是有效的格式说明符,因此您的日期格式无效。您需要弄清楚哪些有效的说明符可以为您提供所需的格式。