由于在工作中遇到了關于日期的輸出,更是由于閑來無事,想一窺日歷的究竟,之前也仿照一位大神輸出了日歷。但是總感覺大神的就是大神的不是自己的,所以就看了NSDateFormatter,NSDate,NSCalendar和NSDateComponents這四個類,但是兩個星期下來感覺收獲甚微,一方面是因為英文水平有限,另一方面是因為自己oc的代碼邏輯還有待提高。
好吧,接下來談一下自己的感受!
NSDateFormatter這個類的對象主要是用在NSDate和NSString的轉換,你看它的英文(dateformatter 日期格式)就能一窺究竟。
NSDate就是我們所說的日期,比如今天哪一年,幾月幾號,星期幾,幾時幾分幾秒,當然還有其他的(比如時區(qū)),但是它的主要目的是為了向我們展示時間 ,我們一般利用它作為一個整體出現(xiàn)(為什么說是作為整體呢,接下來再說)。
NSCalendar就像我們開發(fā)是的controller一樣,控制著所有(為什么說它控制著所有呢,接下來再說)。
NSDateComponents,這是一個很重要的類,如果說NSDate是作為一個整體出現(xiàn)的,那么NSDateComponents就可以向你單獨或者聯(lián)合展示NSDate的所有面。當然離不開NSCalendar的操作,NSDateComponents所有的對象都要經(jīng)過NSCalendar加工才能成型(可以看)。
接下來貼一下輸出的代碼。
開始調試

創(chuàng)建邏輯

分步解析

還有輸出


相信看到這里大家就相信NSCalendar的強大了,它真的是控制著所有,除了NSDateFormatter可以搞定的。