在iOS開發(fā)中有時(shí)候會(huì)需要使用到日期或者時(shí)間,蘋果也為開發(fā)者們提供了一個(gè)日期類以供使用,這就是NSDate。NSDate對(duì)象用來表示一個(gè)具體的時(shí)間點(diǎn),它存儲(chǔ)的是世界標(biāo)準(zhǔn)時(shí)間,所以在使用的時(shí)候可能會(huì)需要根據(jù)不同的時(shí)區(qū)將時(shí)間轉(zhuǎn)換為本地時(shí)間。
1.NSDate的創(chuàng)建
// 獲得一個(gè)當(dāng)前時(shí)間的對(duì)象
NSDate*date1=[NSDatedate];
NSLog(@"date1 = %@",date1);
// 獲得一個(gè)比參數(shù)表示的時(shí)間晚3秒的時(shí)間對(duì)象
NSDate*date2=[NSDatedateWithTimeInterval:3sinceDate:date1];
NSLog(@"date2 = %@",date2);
// 獲得一個(gè)比當(dāng)前時(shí)間晚3秒的時(shí)間對(duì)象
NSDate*date3=[NSDatedateWithTimeIntervalSinceNow:3];
NSLog(@"date3 = %@",date3);
// 獲得一個(gè)比1970-1-1 00:00:00表示的時(shí)間晚60秒的時(shí)間對(duì)象
NSDate*date4=[NSDatedateWithTimeIntervalSince1970:60];
NSLog(@"date4 = %@",date4);
// 隨機(jī)返回一個(gè)比較遙遠(yuǎn)的未來時(shí)間
NSDate*date5=[NSDatedistantFuture];
NSLog(@"date5 = %@",date5);
// 隨機(jī)返回一個(gè)比較遙遠(yuǎn)的過去時(shí)間
NSDate*date6=[NSDatedistantPast];
NSLog(@"date6 = %@",date6);
/*將當(dāng)前世界標(biāo)準(zhǔn)時(shí)間轉(zhuǎn)換成本地時(shí)間*/
// 獲取系統(tǒng)當(dāng)前時(shí)區(qū)
NSTimeZone*zone=[NSTimeZonesystemTimeZone];
// 獲取當(dāng)前時(shí)區(qū)與格林尼治時(shí)間的間隔
NSIntegerinterval=[zone secondsFromGMTForDate:date1];
// 獲取本地時(shí)間
NSDate*localDate=[NSDatedateWithTimeIntervalSinceNow:interval];
NSLog(@"localDate = %@",localDate);