将日期转换为+1000值

时间:2018-06-12 05:19:19

标签: ios swift nsdateformatter

我的日期是这样的:2018-04-30T23:22:05 + 1000并希望转换为Date对象

let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss:Z" // z, zz also still nil
let ss = formatter.date(from: "2018-04-30T23:22:05+1000")
print("VAL : \(ss)") // nil always

+1000值的正确格式是什么?

另外我需要添加哪些区域设置才能获得确切的日期?

2 个答案:

答案 0 :(得分:1)

将您的dateformat用作zone - 特定的长位置格式。如果不可用,则回退到长期本地化的GMT格式(“0000”)。

                             //2018-04-30T23:22:05+1000
       formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ" 

而不是

       formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss:Z" // z, zz also still nil

完整答案

    let formatter = DateFormatter()
    formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ" 
    let ss = formatter.date(from: "2018-04-30T23:22:05+1000")
    print("VAL : \(ss)") // nil always

enter image description here

答案 1 :(得分:1)

日期为ISO 8601日期(互联网格式),+1000表示+10小时0分钟(+ hhmm)。像这样解析它

let str = "2018-04-30T23:22:05+1000"
let formatter = ISO8601DateFormatter()

formatter.formatOptions = .withInternetDateTime

let date = formatter.date(from: str)
相关问题