ios-日期獲取

獲取當(dāng)前時間

  • 注意:當(dāng)前時間是格林尼治時間,并非我國北京時間,這一點(diǎn)要明確.
// 獲取當(dāng)前時間(即格林尼治時間)
    NSDate *nowDate = [NSDate date];
    NSLog(@"nowDate = %@", nowDate);
  • 打印結(jié)果:nowDate = 2016-12-06 01:05:11 +0000

獲取本地時間,即北京時間

  • 注意:北京時間和格林尼治時間相差8個小時,所以獲取北京時間就是先獲取格林尼治時間,再在格林尼治時間的基礎(chǔ)上加8個小時.
// 獲取本地時間(北京時間) 28800秒 == 8小時
    NSDate *localDate = [[NSDate alloc] initWithTimeIntervalSinceNow:28800];
    NSLog(@"localDate = %@", localDate);
  • 打印結(jié)果:localDate = 2016-12-06 09:05:11 +0000

附加知識:

  • 兩者之間的互換需要一個類,叫做NSDateFormatter(日期格式化類)

日期轉(zhuǎn)字符串(NSDate-->NSString)

  • 示例代碼如下:
// 獲取本地時間(北京時間) 28800秒 == 8小時
    NSDate *localDate = [[NSDate alloc] initWithTimeIntervalSinceNow:28800];
// 打印本地時間,NSDate類型
    NSLog(@"localDate = %@", localDate);
    
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSString *dateString = [dateFormatter stringFromDate:localDate];
// 打印本地時間,NSString類型
    NSLog(@"dateString = %@", dateString);
  • 兩者打印結(jié)果是一樣的,如下:
    localDate = 2016-12-06 09:16:38 +0000
    dateString = 2016-12-06 17:16:38 GMT+8

字符串轉(zhuǎn)日期(NSString-->NSDate)

  • 代碼如下:
    NSString *dateString = @"2016-12-06 11:28:29 8";
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss z"];
    NSDate *date = [dateFormatter dateFromString:dateString];
    NSLog(@"date = %@", date);
  • 打印結(jié)果:date = 2016-12-06 11:28:28 +0000
  • 注意:如果字符串的8去掉(8表示東8區(qū)),還有格式字符串的z去掉,那么打印出來的結(jié)果是
    date = 2016-12-06 03:28:29 +0000
  • 小結(jié):也就是說,NSDateFormatter默認(rèn)格式化出來的時間是格林尼治時間.

獲取NSDate中的年/月/日等等

  • 我發(fā)現(xiàn)一個比較奇怪的現(xiàn)象,就是如果獲取日期的某一部分,默認(rèn)拿到的時間全都是北京時間,而不是格林尼治時間,代碼如下
// 通過日期組件對象獲取日期某一部分,不需要給日期加8小時就能獲取本地時間.這讓筆者感到困惑.
//    獲取當(dāng)前時間(格林尼治時間)
    NSDate *localDate = [NSDate date];
    
// 創(chuàng)建日期組件對象
    NSDateComponents *dateComponents = [[NSDateComponents alloc] init];

// 創(chuàng)建日歷對象
    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
    
// 給日期組件對象賦值
    NSInteger unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
    dateComponents = [calendar components:unitFlags fromDate:localDate];
    
    NSLog(@"localDate = %@", localDate);
    NSLog(@"%ld", dateComponents.year);
    NSLog(@"%ld", dateComponents.month);
    NSLog(@"%ld", dateComponents.day);
    NSLog(@"%ld", dateComponents.hour);
    NSLog(@"%ld", dateComponents.minute);
    NSLog(@"%ld", dateComponents.second);
  • 打印結(jié)果如下:
    localDate = 2016-12-06 02:02:25 +0000
    2016
    12
    6
    10
    2
    25
  • 注意:看打印出來的小時,下面打印的是早上10點(diǎn),而上面打印出來的是凌晨2點(diǎn).因此我們可以知道,通過組件對象獲取的時間默認(rèn)就是本地時間,而不是格林尼治時間.
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市时甚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌台妆,老刑警劉巖蚌铜,帶你破解...
    沈念sama閱讀 212,294評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡漾根,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,493評論 3 385
  • 文/潘曉璐 我一進(jìn)店門鲫竞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來辐怕,“玉大人,你說我怎么就攤上這事从绘〖氖瑁” “怎么了?”我有些...
    開封第一講書人閱讀 157,790評論 0 348
  • 文/不壞的土叔 我叫張陵僵井,是天一觀的道長陕截。 經(jīng)常有香客問我,道長批什,這世上最難降的妖魔是什么农曲? 我笑而不...
    開封第一講書人閱讀 56,595評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮渊季,結(jié)果婚禮上朋蔫,老公的妹妹穿的比我還像新娘。我一直安慰自己却汉,他們只是感情好驯妄,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,718評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著合砂,像睡著了一般青扔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,906評論 1 290
  • 那天微猖,我揣著相機(jī)與錄音谈息,去河邊找鬼。 笑死凛剥,一個胖子當(dāng)著我的面吹牛侠仇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播犁珠,決...
    沈念sama閱讀 39,053評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼逻炊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了犁享?” 一聲冷哼從身側(cè)響起余素,我...
    開封第一講書人閱讀 37,797評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎炊昆,沒想到半個月后桨吊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,250評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡凤巨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,570評論 2 327
  • 正文 我和宋清朗相戀三年视乐,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片磅甩。...
    茶點(diǎn)故事閱讀 38,711評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡炊林,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出卷要,到底是詐尸還是另有隱情渣聚,我是刑警寧澤,帶...
    沈念sama閱讀 34,388評論 4 332
  • 正文 年R本政府宣布僧叉,位于F島的核電站奕枝,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏瓶堕。R本人自食惡果不足惜隘道,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,018評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望郎笆。 院中可真熱鬧谭梗,春花似錦、人聲如沸宛蚓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,796評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凄吏。三九已至远舅,卻和暖如春闰蛔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背图柏。 一陣腳步聲響...
    開封第一講書人閱讀 32,023評論 1 266
  • 我被黑心中介騙來泰國打工序六, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蚤吹。 一個月前我還...
    沈念sama閱讀 46,461評論 2 360
  • 正文 我出身青樓例诀,卻偏偏與公主長得像,于是被迫代替她去往敵國和親裁着。 傳聞我的和親對象是個殘疾皇子余佃,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,595評論 2 350

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