gpt4 book ai didi

json - 如何使用 Swift 格式化 JSON 日期字符串?

转载 作者:IT王子 更新时间:2023-10-29 05:15:13 25 4
gpt4 key购买 nike

我向服务器发出 http get 请求并返回一个带有日期字符串的 json 对象,如下所示:

{
name = "Place1";
temperature = 79;
humidity = 68;
reported_at = "2013-07-21T19:32:00Z";
}

我想格式化 reported_at 键,以便向用户显示可读的日期和时间。

这是我正在尝试的 swift 代码,它一直返回 nil,因为它无法格式化日期。

    var str = "2013-07-21T19:32:00Z"

var dateFor: NSDateFormatter = NSDateFormatter()
dateFor.dateFormat = "yyyy-MM-dd'T'HH:mm:ss:SSS"

var yourDate: NSDate? = dateFor.dateFromString(str)

println(yourDate)

如何使用 Swift 正确格式化此日期和时间?我想向用户显示日期和时间,以便他们知道读取时间。

最佳答案

现在(2017 年 9 月)在 Swift 4 中有更智能的方法来解码 ISO8601:

  • ISO8601DateFormatter

    let str = "2013-07-21T19:32:00Z"
    let formatter = ISO8601DateFormatter()
    let yourDate = formatter.date(from: str)
  • JSON解码器

    struct Place : Decodable {

    let name : String
    let temperature : Int
    let humidity : Int
    let reportedAt : Date

    }

    let json = """
    {"name" : "Place1", "temperature" : 79, "humidity" : 68, "reported_at" : "2013-07-21T19:32:00Z"}
    """
    let data = Data(json.utf8)

    let decoder = JSONDecoder()
    decoder.dateDecodingStrategy = .iso8601
    decoder.keyDecodingStrategy = .convertFromSnakeCase
    let place = try! decoder.decode(Place.self, from: data)

关于json - 如何使用 Swift 格式化 JSON 日期字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28748162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com