1、總結前面學習的oc中的幾種資料類型
nsinteger
nsuinteger
cgfloat
nsstring nsmutablestring
nssarray nsmutablearray
nsdictionary nsmutabledictionary
nsset nsmutableset
2、nsdate 日期類,繼承自nsobject ,代表的是一個時間點
nsdate *date = [nsdate date];
nsloge(@“%@“,date);//顯示的是格林尼治時間:年-月-日 時:分:秒:+時區
3、typedef double nstimeinterval; nstimeinterval實質是double 類型
nsdate *date1 = [nsdate datewithtimeintervalsincenow:60];
4、昨天的現在時刻
nsdate *date2 = [nsdate datewithtimeintervalsincenow:-(60 * 60 *24)];
明年的這個時刻
nsdate *date3 = [nsdate datewithtimeintervalsincenow:366 *24*60*60];
5、計算給定date對象和目前時間的時間間隔
nstimeinterval time = [date1 timeintervalsincenow];
6、計算目前時間和明年時間
time = [date timeintervalsincenow];
7、時間戳:從1970.1.1 到目前時間的時間間隔就叫時間戳
time = [date timeintervalsince1970];
8、 時間戳對象
nsdate *date4 = [nsdate datewithtimeintervalsince1970:360];
9、擷取中原標準時間,在零時區的基礎上加上8個小時,就到了東8區,也就是中原標準時間
nsdate *date5 = [date datebyaddingtimeinterval:8 *60 *60 ];
例子: 計算一個目前時間和一個固定時間的內插補點如果內插補點在60妙以内輸出“剛剛”,如果在60秒到3600之前,則輸出“xx分鐘之前”,若在3600到24 *3600 之内,則輸出“xx小時之前”,若再24 * 3600之外,則顯示固定時間
nsdate *t2 = [nsdate datewithtimeintervalsincenow:-2*3600];
nstimeinterval time3 = [t2 timeintervalsincenow];
time3 = -time3;
if (time3 <</span> 60) {
nslog(@"剛剛");
}else if (time3 <</span> 3600){
nslog(@"%.2lf分鐘之前",time3 / 60);
}else if (time3 <</span> 24 *3600){
nslog(@"%.2lf小時之前",time3 / 3600);
}else{
nslog(@"%@",t2);
}
==============================================================
10、nsdateformatter 日期格式類,主要作用:将nsdate 對象轉化為某種格式,然後轉化成nsstring 對象
//建立nsdateformatter 對象
nsdateformatter *formatter = [[nsdateformatter alloc]init];
//設定日期格式:yyyy(年) - mm(月) - dd(日) h(小時) m (分鐘)s(秒)
[formatter setdateformat:@"yyyy年mm月dd日 hh時mm分ss秒"];
nsdate *date7 = [nsdate date];
11、 nsdate ——>nsstring
stringformatter 會直接加上相聚0時區的時間間隔
nsstring *datestring = [formatter stringfromdate:date7];
nslog(@"%@",datestring);
例子: 練習:将date7顯示格式變為:2015年09月07号,11-35-20
nsdateformatter *formatter2 = [[nsdateformatter alloc]init];
[formatter2 setdateformat:@"yyyy年mm月dd号 hh-mm-ss"];
nsstring *datestring2 = [formatter2 stringfromdate:date7];
nslog(@"%@",datestring2);
12、将字元串轉化為nsdate 對象
比如:将2015年09月07号 11時40分50秒
準備時間格式對象
nsdateformatter *formatter3 = [[nsdateformatter alloc]init];
[formatter3 setdateformat:@"yyyy年mm月dd号 hh時mm分ss秒"];
//轉化字元串對象
nsstring *datestring3 = @"2015年09月07号 11時40分50秒";
//nsstring -->nsdate
nsdate *date8 = [formatter3 datefromstring:datestring3];
nslog(@"%@",date8);
//将轉換回來的對象手動加上8小時,回到中原標準時間
nsdate *date9 = [date8 datebyaddingtimeinterval:8 *60 *60];
nslog(@"%@",date9);
練習:例子: 将字元串轉化為nsdate 對象;比如:@"将2015年09月07日 11時40分50秒"
//準備時間格式對象
nsdateformatter *formatter4 = [[nsdateformatter alloc]init];
[formatter4 setdateformat:@"将yyyy年mm月dd日 hh時mm分ss秒"];
nsstring *datestring4 = @"将2015年09月07日 13時28分50秒";
nsdate *date11= [formatter4 datefromstring:datestring4];
nsdate *date10 = [date11 datebyaddingtimeinterval:8*60*60];
nslog(@"%@",date10);
轉自:http://blog.csdn.net/qq_31810357