Swift Object Mapper传递了不同的日期

时间:2018-07-06 19:19:38

标签: ios json swift alamofire objectmapper

我正在使用ObjectMapper将json放入对象中,但是每次将日期设置为1970-01-01时。我看不到我的问题是什么,因为虽然DateTransform可以处理格式了。

这是课程:

import Foundation
import ObjectMapper

class example :Mappable
{
    var ExampleDate: Date?

    required init?(map: Map){
    }

    //Mappable
    func mapping(map: Map){
        ExampleDate          <- (map["ReviewDate"], DateTransform())
    }

}

这是其中一个日期的样子:

ExampleDate =“ 2018-07-05T12:41:52.087 + 00:00”

谢谢!

1 个答案:

答案 0 :(得分:1)

尝试改用DateFormatterTransform

import Foundation
import ObjectMapper

class example :Mappable
{
    var ExampleDate: Date?

    required init?(map: Map){
    }

    //Mappable
    func mapping(map: Map){
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "yyyy-MM-dd'T'hh:mm:ss.SSSZ"
        dateFormatter.timeZone = TimeZone(secondsFromGMT: 0)
        dateFormatter.locale = Locale(identifier: "en_US_POSIX")

        ExampleDate <- (map["ReviewDate"], DateFormatterTransform(dateFormatter: dateFormatter))
    }
}

作为一般观察,请尝试避免为变量名使用大写首字母。这是推荐的方式,因此您可以轻松地将它们与类型区分开。因此,请使用exampleDate代替ExampleDate