在一些場合,咱們須要獲取服務器的時間,計算該時間與客戶端本地時間的差值,以利於時間同步。有人說,這個不是很簡單嗎,讓後臺的TX給你一個獲取服務器時間的接口就好了。git
其實這個仍是比較麻煩的,更簡單的是利用HTTP Header來獲取服務器時間——每一個HTTP header的Date參數就是這個時間。在iOS中咱們一般用AFNetworking發請求,那麼用AFNetworking怎麼獲得HTTP header信息呢?github
很簡單,用 [[operation response] allHeaderFields] 就行。服務器
後記:code
我仍是想得太簡單了,在iOS中想把上圖中HTTP頭的時間換成NSDate,怎麼試都不行,後來才發現,雖然你可能指定時間爲"EEE, d MMM yyyy HH:mm:ss zzz",但還須要額外的設置。orm
最後,找到了一份開源的代碼解決了此問題:https://github.com/mwaterfall/MWFeedParser/blob/master/Classes/NSDate+InternetDateTime.m(ARC) 接口
使用方法:get
NSDate* inputDate = [NSDate dateFromInternetDateTimeString:dateServer formatHint:DateFormatHintRFC822];
或者:input
NSDate* inputDate = [NSDate dateFromRFC822String:dateServer];
參考:http://stackoverflow.com/questions/12351464/reading-afnetworking-response-headers同步