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