swift 获取网络时间

    /// 获取网络时间
    ///
    /// - Parameter response: 接口response
    /// - Returns: 时间字符串  "yyyy/MM/dd HH:mm:ss"
    func getNetWorkTime(response: HTTPURLResponse) -> String{
        let str:String = response.allHeaderFields["Date"] as! String
        let str1 = (str as NSString).substring(from: 5)
        let str2 = (str1 as NSString).substring(to: (str1.length - 4))
        let format: DateFormatter = DateFormatter.init()
        format.locale = Locale.init(identifier: "en_US")
        format.dateFormat = "dd MMM yyyy HH:mm:ss"
        
        let date: Date = (format.date(from: str2)?.addingTimeInterval(60*60*8))!
        let zone: NSTimeZone = NSTimeZone.system as NSTimeZone
        let interval:TimeInterval = TimeInterval(zone.secondsFromGMT(for: date))
        let localeDate: Date = date.addingTimeInterval(interval)
        let tmpDate1: String = String.init(format: "%@", localeDate as CVarArg)
        let tmpDate: String = tmpDate1.replacingOccurrences(of: " +0000", with: "")
        let newFor: DateFormatter = DateFormatter.init()
        newFor.dateFormat = "yyyy/MM/dd HH:mm:ss"
        let nowDate: Date = newFor.date(from: tmpDate)!
        let nowDates: String = newFor.string(from: nowDate)
        return nowDates
    }

你可能感兴趣的:(swift 获取网络时间)