将字符串日期解析为日期

时间:2016-09-29 16:28:08

标签: ios swift nsdate nsdateformatter swift3

let date = "2016-05-31T19:00:00+02:00"

let dateFormatterWithTime: DateFormatter {
    let df = DateFormatter()
    df.dateFormat = "yyyy-MM-dd'T'HH:mm:ss Z"
    return df
}
let thisIsNil = dateFormatterWithTime.date(from: date)

格式化程序有什么问题?根据{{​​3}},它返回一个有效的日期,但我从这个

开始

1 个答案:

答案 0 :(得分:0)

您的formatter应为“yyyy-MM-dd'T'HH:mm:ssZ”。 标记为区域的Z,在您的日期中第二个和区域之间没有间隙,但是您的格式有一个差距

因此代码应为

    let date = "2016-05-31T19:00:00+02:00"

    var dateFormatterWithTime: DateFormatter {
        let df = DateFormatter()
        df.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
        return df
    }
    let thisIsNil = dateFormatterWithTime.date(from: date)

    print("date \(thisIsNil)")

输出日志:

date Optional(2016-05-31 17:00:00 +0000)