iOS--開發(fā)中當(dāng)時(shí)間遇到夏令時(shí)

最近巧合地發(fā)現(xiàn)一個(gè)小問題:
有時(shí)在iOS開發(fā)中我們會(huì)用到NSDate、NSCalendar舌涨、NSDateComponents來創(chuàng)建一個(gè)時(shí)間糯耍,比如下面的:

///獲取GMT格林尼治標(biāo)準(zhǔn)時(shí)間
NSDate *date = [NSDate date];
NSLog(@"date = %@",date);

///獲取當(dāng)前北京時(shí)間:(注意北京時(shí)間=GMT時(shí)間+8h)
NSDate *bjDate = [NSDate dateWithTimeIntervalSinceNow:8*60*60];
NSLog(@"bjDate = %@", bjDate);

輸出為:
2016-06-28 18:54:10.921 Tank[3159:256082] date = 2016-06-28 10:54:10 +0000
2016-06-28 18:54:10.922 Tank[3159:256082] bjDate = 2016-06-28 18:54:10 +0000

另外,F(xiàn)oundation框架為此為我們提供了NSCalendar類,NSCalendar由更自然的日期組成囊嘉,例如日温技,月,星期等扭粱,可以使用NSDateComponents 和NSCalendar 來創(chuàng)建一個(gè)NSDate對(duì)象舵鳞。如:

NSCalendar *currentCalendar = [NSCalendar currentCalendar];
NSDateComponents *components = [[NSDateComponents alloc]init];
components.year = 1990;
components.month = 05;
components.day = 20;
components.hour = 13;
components.minute =22;
components.second = 16;
NSDate *aDate = [currentCalendar dateFromComponents:components];
NSLog(@"aDate = %@",aDate);

輸出為:注意這里輸出為04:22:16
2016-06-28 18:54:10.922 Tank[3159:256082] aDate = 1990-05-20 04:22:16 +0000

細(xì)心的你可能這會(huì)應(yīng)該在數(shù)手指頭了吧,1琢蛤,2蜓堕,3....7,8博其,9 L撞拧!贺奠!什么霜旧?這什么鬼?再來一遍:1儡率,2挂据,3......7,8儿普,9 F樘印!眉孩!怎么回事个绍,不是說北京時(shí)間與GMT時(shí)間相差8小時(shí)嗎勒葱?為什么會(huì)9小時(shí),然后你換回當(dāng)前時(shí)間巴柿,輸入2016凛虽,咦?正常了广恢,再回到1990凯旋,又出問題了,1991還是有問題钉迷,換到1992又正常了至非,換到1990年12月,又正常了糠聪,這是什么鬼荒椭??舰蟆?趣惠?不會(huì)只坑我這個(gè)1990年出生的吧?

終于身害,你想起來了信卡,有個(gè)叫做“夏令時(shí)”的東西,趕緊百度下吧:
http://baike.baidu.com/link?url=tYe6zOFi8hWN4RHUJbBUAd5r29brYSiSxZ0Xz-bPuydmeJKfGkoYLlorwzmKYARvxXZWhZs8nkRU1831TAQOUK

中國夏令時(shí)

看到這一段题造,頓時(shí)大悟了吧,如果你的工程正好用到計(jì)算時(shí)間猾瘸,注意一下這點(diǎn)吧界赔,蘋果也真是diao,這個(gè)歷史事件都被它算進(jìn)系統(tǒng)去了牵触。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末淮悼,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子揽思,更是在濱河造成了極大的恐慌袜腥,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件钉汗,死亡現(xiàn)場離奇詭異羹令,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)损痰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門福侈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人卢未,你說我怎么就攤上這事肪凛⊙吆海” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵伟墙,是天一觀的道長翘鸭。 經(jīng)常有香客問我,道長戳葵,這世上最難降的妖魔是什么就乓? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮譬淳,結(jié)果婚禮上档址,老公的妹妹穿的比我還像新娘。我一直安慰自己邻梆,他們只是感情好守伸,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著浦妄,像睡著了一般尼摹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上剂娄,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天蠢涝,我揣著相機(jī)與錄音,去河邊找鬼阅懦。 笑死和二,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的耳胎。 我是一名探鬼主播惯吕,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼怕午!你這毒婦竟也來了废登?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤郁惜,失蹤者是張志新(化名)和其女友劉穎堡距,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體兆蕉,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡羽戒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了虎韵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片半醉。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖劝术,靈堂內(nèi)的尸體忽然破棺而出缩多,到底是詐尸還是另有隱情呆奕,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布衬吆,位于F島的核電站梁钾,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏逊抡。R本人自食惡果不足惜姆泻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望冒嫡。 院中可真熱鬧拇勃,春花似錦、人聲如沸孝凌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蟀架。三九已至瓣赂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間片拍,已是汗流浹背煌集。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留捌省,地道東北人苫纤。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像纲缓,于是被迫代替她去往敵國和親方面。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容