一、日期類簡單介紹
對日期我們經常使用到的兩個類
1、NSDate,NSDate的對象表示一個具體的時間點
2、NSDateFormatter對象將時間轉化為字符串或者反轉
二、創建NSDate對象的幾種方式以及區別
1、獲取到GTM時間(世界標準時間),比中國時間早八個小時
NSDate *data = [NSDate date];
2、從當前GTM時間往后推八個小時的時間,如果為負數就是往前推八個小時的時間
NSTimeInterval timeInterval = 8*60*60;
NSDate *chinaDate = [NSDate dateWithTimeIntervalSinceNow:timeInterval];
3、從計算機時間(1970-01-01 00:00:00)后推八個小時后的時間。
NSDate *since1970Date = [NSDate dateWithTimeIntervalSince1970:timeInterval];
4、從自定義的時間往后推八個小時后的時間。
NSDate *sinceCustomDate = [NSDate dateWithTimeInterval:timeInterval sinceDate:date];
5、從2001-01-01 00:00:00往后推八個小時后的時間。
NSDate *sinceReferenceDate = [NSDate dateWithTimeIntervalSinceReferenceDate:timeInterval];
6、永遠不可能到達的一個點
NSDate *futureDate = [NSDate distantFuture];
7、一個無限過去的時間點
NSDate *pastDate = [NSDate distantPast];
三、NSDate對象常用的方法
1、從計算機時間(1970-01-01 00:00:00)到date時間的時間差(秒為單位)
timeIntervalSince1970
2、從(2001-01-01 00:00:00)到date時間的時間差(秒為單位)
timeIntervalSinceReferenceDate
3、從當前時間到date時間的時間差
timeIntervalSinceNow
4、當前時間偏移多少秒后的新時間
dateByAddingTimeInterval
5、兩個日期之間的時間差
timeIntervalSinceDate
6、日期的比較
earlierDate//誰早返回誰
laterDate//誰晚返回誰
isEqualToDate//兩個日期是否相等
四、日期與字符串的轉換
1、日期格式如下:
y? 年
F? 月份中的周數
E? 周幾,EEEE星期幾
M 表示 月
m 表示 分
H 表示 24小時制
h 表示 12小時制
s 表示 秒
S 表示 毫秒
d? 月份中的天數
a? Am/pm
k? 一天中的小時數(1-24)
K? am/pm 中的小時數(0-11)
H? 一天中的小時數
h? am/pm 中的小時數(1-12)
2、字符串與日期的轉換
1)將日期轉換為字符串,轉換過后就自動換成系統所在時區的時間
[dateFormatter stringFromDate:date]
2)將字符串轉化為日期
[dateFormatter dateFromString:str]