1、NSCalendar

//首先創(chuàng)建NSCalendar的實(shí)例,可以簡(jiǎn)單的用當(dāng)前實(shí)例,也可以創(chuàng)建其它的歷法對(duì)應(yīng)的實(shí)例。
NSCalendar *cal = [NSCalendar currentCalendar];
//下面通過(guò)NSCalendar來(lái)獲取各個(gè)元素,保存在類(lèi)NSDateComponents的實(shí)例中
//需要通過(guò)函數(shù)參數(shù)components指定希望獲取的元素,詳細(xì)的枚舉后面會(huì)列出
NSDate *startDate = [[NSDatenew] autorelease];
NSDateComponents *dateComps = [cal components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit fromDate:startDate];
int year = [dateCompsyear];
int month = [dateCompsmonth];
int day = [dateCompsday];
int hour = [dateCompshour];
int minute = [dateCompsminute];
int second = [dateCompssecond];
NSLog(@"%d-%d-%d-%d-%d-%d",year,month,day,hour,minute,second);
打印:2013-3-19-17-2-2147483647【這個(gè)打印出來(lái)的跟實(shí)際北京時(shí)間是一樣的】
NSDate *newDate = [cal dateFromComponents:dateComps];
NSLog(@"%@",newDate);
打印:2013-03-1909:02:00 +0000【和北京時(shí)間相差8小時(shí),北京時(shí)間=GMT時(shí)間+8小時(shí)】
2、NSDate
NSDate *date = [NSDate date];
NSLog(@"%@",date);
打印:2013-03-1909:02:00 +0000【和北京時(shí)間相差8小時(shí),北京時(shí)間=GMT時(shí)間+8小時(shí)】
轉(zhuǎn)成正確的北京時(shí)間:
NSDate *date = [NSDate date];
NSDateFormatter *formater = [[[NSDateFormatteralloc] init]autorelease];
formater.timeZone = [NSTimeZone systemTimeZone];//無(wú)效
[formater setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSString *timestr = [formater stringFromDate: date];
NSLog(@"sss:%@",timestr);
打印:2013-03-1905:09:34
//這個(gè)根據(jù)系統(tǒng)設(shè)置的時(shí)間【是否24小時(shí)制】顯示方式來(lái),2013-03-19 17:12:19或者2013-03-19 05:09:34
3、驗(yàn)證:北京時(shí)間=GMT時(shí)間+8小時(shí)
NSDate *date = [NSDate date];
[self getGMTTimeStr:date];
- (NSString*)getGMTTimeStr:(NSDate *)oriDate {
NSDateFormatter *formater = [[NSDateFormatteralloc] init];
[formater setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSString *timestr = [formater stringFromDate:oriDate];
int interval = [[NSTimeZonesystemTimeZone] secondsFromGMTForDate:oriDate];
NSDate *gmtDate = [oriDate dateByAddingTimeInterval:-interval];
NSString *gmttimestr = [formater stringFromDate:gmtDate];
NSLog(@"oriTime vs. gmtTime: %@, %@",timestr,gmttimestr);
return gmttimestr;
}
打印:oriTime vs. gmtTime: 2013-03-1917:12:00, 2013-03-1909:12:00
4、NSDateFormatter格式化參數(shù)相關(guān)
格式化參數(shù)如下:
G: 公元時(shí)代,例如AD公元
yy: 年的后2位
yyyy: 完整年
MM: 月,顯示為1-12
MMM: 月,顯示為英文月份簡(jiǎn)寫(xiě),如 Jan//跟系統(tǒng)語(yǔ)言版本有關(guān)系,中文顯示“3月”,英文顯示“Jan”
MMMM: 月,顯示為英文月份全稱(chēng),如 Janualy//跟系統(tǒng)語(yǔ)言版本有關(guān)系,中文顯示“3月”,英文顯示“Jan”
dd: 日,2位數(shù)表示,如02
d: 日,1-2位顯示,如2
EEE: 簡(jiǎn)寫(xiě)星期幾,如Sun
EEEE: 全寫(xiě)星期幾,如Sunday
aa: 上下午,AM/PM
H: 時(shí),24小時(shí)制,0-23
K:時(shí),12小時(shí)制,0-11
m: 分,1-2位
mm: 分,2位
s: 秒,1-2位
ss: 秒,2位
S: 毫秒
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
標(biāo)題名稱(chēng):關(guān)于NSDate和NSCalendar的一些基本使用-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://www.chinadenli.net/article22/pcsjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、動(dòng)態(tài)網(wǎng)站、云服務(wù)器、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、微信公眾號(hào)、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容