溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

iOS開(kāi)發(fā)OC基礎(chǔ):OC中日期類NSDate類的常用方法

發(fā)布時(shí)間:2020-08-01 06:20:57 來(lái)源:網(wǎng)絡(luò) 閱讀:1499 作者:winann 欄目:移動(dòng)開(kāi)發(fā)

因?yàn)镺C中的一些方法的使用比較簡(jiǎn)單,所以代碼比較少,我會(huì)把完整的代碼貼到這里,如果代碼過(guò)多,我會(huì)考慮上傳工程附件。

今天來(lái)介紹一下NSDate類的常用方法,可以幫助大家理解日期類的基本用法,因?yàn)樗械慕忉屨f(shuō)明都放在了代碼的注釋里,大家可以參照著看,也可以拷貝到工程里進(jìn)行運(yùn)行查看。


main.h中的全部代碼為:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
    
        
        //1.創(chuàng)建NSDate對(duì)象
        //通過(guò)date創(chuàng)建對(duì)象拿到的是0時(shí)區(qū)的時(shí)刻,本地的時(shí)刻還需加8個(gè)小時(shí)
        NSDate *date1 = [NSDate date];
        NSLog(@"%@", date1);
        
        //2.創(chuàng)建一個(gè)NSDate對(duì)象,讓它表示明天此時(shí)的時(shí)刻
        //從當(dāng)前時(shí)刻開(kāi)始,加上給定的時(shí)間間隔
        //NSTimeInterval 是一個(gè)時(shí)間間隔,時(shí)間間隔是以秒為單位的
        NSDate *date2 = [NSDate dateWithTimeIntervalSinceNow:24 * 60 * 60];
        NSLog(@"%@", date2);
        
        //3.創(chuàng)建NSDate對(duì)象,表示昨天此時(shí)的時(shí)刻
        NSDate *date3 = [NSDate dateWithTimeIntervalSinceNow:- 24 * 60 * 60];
        NSLog(@"%@", date3);
        
        //4.獲得兩個(gè)指定時(shí)刻的時(shí)間間隔NSTimeInterval
        NSTimeInterval interval1 = [date2 timeIntervalSinceDate:date3];
        NSLog(@"%.2f", interval1 / 24 / 60 /60);
        
        //5.輸出日期格式
        //創(chuàng)建一個(gè)日期格式類的對(duì)象
        NSDateFormatter *formatter1 = [[NSDateFormatter alloc] init];
        //設(shè)置日期的格式
        
        //設(shè)置當(dāng)前時(shí)區(qū)
        [formatter1 setTimeZone:[NSTimeZone localTimeZone]];
        //月用大寫的MM,小時(shí)大寫HH表示24小時(shí)制
//        [formatter1 setDateFormat:@"yyyy年MM月dd日 hh:mm:ss"];
        //(1)設(shè)置日期的風(fēng)格,日期的樣式
        [formatter1 setDateStyle:NSDateFormatterFullStyle];
        //(2)設(shè)置時(shí)間的風(fēng)格,時(shí)間的樣式
        [formatter1 setTimeStyle:NSDateFormatterLongStyle];
        
        //將日期轉(zhuǎn)為字符串
        NSString *dateString1 = [formatter1 stringFromDate:date1];
        NSLog(@"%@", dateString1);
        
        //6.通過(guò)時(shí)間間隔初始化NSDate對(duì)象
        //獲得當(dāng)前時(shí)間和1970.1.1時(shí)間間隔
        NSDate *date5 = [NSDate dateWithTimeIntervalSince1970:0];
        NSTimeInterval interval2 = [date1 timeIntervalSinceDate:date5];
        NSLog(@"%.2f", interval2 / 365 / 24 / 60 / 60);
        //根據(jù)時(shí)間間隔以及給定的1970.1.1獲得指定的時(shí)間
        NSDate *date4 = [NSDate dateWithTimeInterval:interval2 sinceDate:date5];
        NSLog(@"%@", date4);
        
        
        //創(chuàng)建日期格式對(duì)象
        NSDateFormatter *formatter3 = [[NSDateFormatter alloc] init];
        //設(shè)置轉(zhuǎn)化的日期格式,一定要和給定的日期字符串格式相同
        [formatter3 setDateFormat:@"yyyy年MM月dd日 HH點(diǎn)mm分ss秒"];
        //將日期格式串按照日期格式轉(zhuǎn)化為NSDate對(duì)象
        NSDate *date6 = [formatter3 dateFromString:@"2014年05月01日 10點(diǎn)23分24秒"];
        NSLog(@"%@", date6);
        
    }
    return 0;
}



這是我在學(xué)習(xí)的過(guò)程中總結(jié)的一些方法,希望對(duì)大家有所幫助。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI