從服務(wù)器獲取到的時間直接轉(zhuǎn)換成NSString 會差8個小時喻圃,原因是 從服務(wù)器獲取的時間 直接轉(zhuǎn)為string窍蓝,會轉(zhuǎn)成 本地時區(qū)。
解決辦法:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm"];
[formatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSString *titleName = [formatter stringFromDate:date];
設(shè)定時區(qū)之后轉(zhuǎn)換就不會出現(xiàn)這個問題了。
另外普及一下基本的術(shù)語
格林威治標(biāo)準(zhǔn)時間GMT 十七世紀(jì)求晶,格林威治皇家天文臺為了海上霸權(quán)的擴張計畫而進行天體觀測。1675年舊皇家觀測所(Old Royal Observatory) 正式成立衷笋,到了1884年決定以通過格林威治的子午線作為劃分地球東西兩半球的經(jīng)度零度芳杏。觀測所門口墻上有一個標(biāo)志24小時的時鐘,顯示當(dāng)下的時間辟宗,對全球而言爵赵,這里所設(shè)定的時間是世界時間參考點,全球都以格林威治的時間作為標(biāo)準(zhǔn)來設(shè)定時間泊脐,這就是我們耳熟能詳?shù)摹父窳滞螛?biāo)準(zhǔn)時間」(Greenwich Mean Time空幻,簡稱G.M.T.)的由來,標(biāo)示在手表上容客,則代表此表具有兩地時間功能秕铛,也就是同時可以顯示原居地和另一個國度的時間。
世界協(xié)調(diào)時間UTC 多數(shù)的兩地時間表都以GMT來表示缩挑,但也有些兩地時間表上看不到GMT字樣但两,出現(xiàn)的反而是UTC這3個英文字母,究竟何謂UTC供置?事實上谨湘,UTC指的是Coordinated Universal Time- 世界協(xié)調(diào)時間(又稱世界標(biāo)準(zhǔn)時間、世界統(tǒng)一時間),是經(jīng)過平均太陽時(以格林威治時間GMT為準(zhǔn))紧阔、地軸運動修正后的新時標(biāo)以及以「秒」為單位的國際原子時所綜合精算而成的時間谎僻,計算過程相當(dāng)嚴(yán)謹(jǐn)精密,因此若以「世界標(biāo)準(zhǔn)時間」的角度來說寓辱,UTC比GMT來得更加精準(zhǔn)艘绍。其誤差值必須保持在0.9秒以內(nèi),若大于0.9秒則由位于巴黎的國際地球自轉(zhuǎn)事務(wù)中央局發(fā)布閏秒秫筏,使UTC與地球自轉(zhuǎn)周期一致诱鞠。所以基本上UTC的本質(zhì)強調(diào)的是比GMT更為精確的世界時間標(biāo)準(zhǔn),不過對于現(xiàn)行表款來說这敬,GMT與UTC的功能與精確度是沒有差別的航夺。