object-c  怎么解析 JSON 的日期时间格式?   /Date(1454060831000+0800)/ 解析成 YYYY-MM-DD HH:MM:SS 形式

解决方案 »

  1.   

    提取中间的数值,例如1454060831000,除以1000,然后用NSDate的timeIntervalSince1970构造函数。有了NSDate再进行格式化字符串即可。
    以下是Swift的转换代码
    extension NSDate {
        convenience init?(jsonDate: String) {
            let prefix = "/Date("
            let suffix = ")/"
            if jsonDate.hasPrefix(prefix) && jsonDate.hasSuffix(suffix)
            {
                let from = jsonDate.startIndex.advancedBy(prefix.characters.count)
                let to = jsonDate.endIndex.advancedBy(-suffix.characters.count)
                let dateString = jsonDate[from ..< to]
                let timeStamp = (dateString as NSString).doubleValue / 1000.0
                self.init(timeIntervalSince1970: timeStamp)
            }
            else
            {
                self.init(timeIntervalSince1970: 0)
                return nil
            }
        }
    }let formatter = NSDateFormatter()
    formatter.dateFormat = ("yyyy-MM-dd HH:mm:ss")
    let dateString = formatter.stringFromDate(date)