2017-08-03 118 views

回答

0

如果你真的想從服務器獲取當前時間,你可以做這樣的: (我使用的是谷歌的服務器)

override func viewDidLoad() { 
    super.viewDidLoad() 

    //call ServerTimeReturn function 

    serverTimeReturn { (getResDate) -> Void in 
     let dFormatter = DateFormatter() 
     dFormatter.dateStyle = .long 
     dFormatter.timeStyle = .long 
     dFormatter.timeZone = TimeZone(abbreviation: "UTC") 

     let dateGet = dFormatter.string(from: getResDate!) 
     print("Formatted Time : \(dateGet)") 
    } 

} 

func serverTimeReturn(completionHandler:@escaping (_ getResDate: Date?) -> Void){ 

    let url = URL(string: "http://www.google.com") 
    let task = URLSession.shared.dataTask(with: url!) {(data, response, error) in 
     let httpResponse = response as? HTTPURLResponse 
     if let contentType = httpResponse!.allHeaderFields["Date"] as? String { 

      let dFormatter = DateFormatter() 
      dFormatter.dateFormat = "EEE, dd MMM yyyy HH:mm:ss z" 

      let serverTime = dFormatter.date(from: contentType) 
      completionHandler(serverTime) 
     } 
    } 

    task.resume() 
} 
相關問題