DateFormatter提供不正确的结果

时间:2019-07-01 10:26:00

标签: ios swift nsdateformatter

我尝试格式化UTC日期,但结果似乎非常错误

DateFormatter:

    let df = DateFormatter()
    df.calendar = Calendar(identifier: .iso8601)
    df.dateFormat = "MMMM dd YYYY hh mm"
    df.locale = Locale(identifier: "en_US_POSIX")
    df.timeZone = TimeZone(identifier: "UTC")

示例1

日期1:

po dateStart
▿ 2018-12-31 00:00:00 +0000
- timeIntervalSinceReferenceDate : 567907200.0

给予:

po df.string(from: dateStart)
"December 31 2019 12 00"

示例2

日期2:

po dateEnd
▿ 2021-01-03 23:59:59 +0000
- timeIntervalSinceReferenceDate : 631411199.0

给予:

po df.string(from: dateEnd)
"January 03 2020 11 59"

为什么会发生这种情况,如何获得正确的日期(年份)?

1 个答案:

答案 0 :(得分:0)

您应该使用"MMMM dd yyyy hh mm"而不是"MMMM dd YYYY hh mm"的其余部分对我来说可以。