2014年12月6日 星期六

NSDate, NSTimeInterval, NSCalendar, NSDateComponents, NSDateFormatter基本教學

下面是一些跟時間相關的class,以及其簡單的使用方法,而每個class背後的原理,我會另外分幾篇網誌來寫。

NSDate

NSDate儲存的是世界標準時間(UTC),是絕對時間,當要輸出時間的時候會(註一)根據當地時區轉換成當地的時間。
下面這段程式是讀取現在時間的程式碼。

NSDateFormatter

說到NSDateFormatter,就不得不提關於NSDateFormatter 的二三事這篇網誌,這篇網誌把很多(註二)參數都整理出來了。
下面是NSDateFormatter的使用方式。

設定NSDateFormatter也可以使用Xcode提供的幾種制式化格式


NSTimeInterval

特別要注意NSTimeInterval的資料型態是double。


NSCalendar, NSDateComponents

下面三種方法得出來的結果都一樣,只是取用的方式不同。(註三)



註一:我現在還不完全清楚它的原理,不知道是「會」根據當地時區作轉換,還是「需要」知道當地的時區來作轉換。2014/12/7
註二:我不知道是不是全部,一時沒時間去查,但我要用的話幾乎都在那篇裡找得到。2014/12/7
註三:我還搞不清楚差在哪,我查到後這裡會更新。2014/12/7