NSDate常用

NSDate常用

標簽(空格分隔): 實用編程習慣-coding


[TOC]


1、字符串與日期的相互轉(zhuǎn)換

        //NSDate求日期
        NSDate *date = [NSDate date];
        NSDateFormatter *fm = [[NSDateFormatter alloc] init];
        fm.dateFormat = @"yyyy-MM-dd HH-mm-ss";
        //-----日期轉(zhuǎn)換成字符串------
        NSDate *lastDate = [NSDate dateWithTimeInterval:-24*60*60 sinceDate:date];
        NSString *dateString = [fm stringFromDate:lastDate];
        NSLog(@"一天前的日期string :%@",dateString);

        //-----字符串轉(zhuǎn)換成日期------
        NSString *oneDateString = @"2022-12-6 18:01:33";
        fm.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];
        NSDate *oneDate = [fm dateFromString:oneDateString];

        NSLog(@"未來某天的日期Obj :%@",oneDate);
image_1bgvjtsdmgvh14vk18vm9mmo8f9.png-38.7kB
image_1bgvjtsdmgvh14vk18vm9mmo8f9.png-38.7kB

2、NSDateComponents獲取日期

NSCalendar *calendar = [NSCalendar currentCalendar];
        NSDate *date = [NSDate date];
        //日歷集合的結構體
        NSCalendarUnit units = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
        NSDateComponents *comp = [calendar components:units fromDate:date];
        NSLog(@"%@",comp);
        NSLog(@"%zd年%zd月%zd日",comp.year,comp.month,comp.day);
image_1bgvkrt2fbt51tkbha3m4tmnhm.png-46.9kB
image_1bgvkrt2fbt51tkbha3m4tmnhm.png-46.9kB

3 獲取前一天或者后一天的日期

最low的方式
  • 使用NSDateFormatter減去日期對應的秒數(shù),不過這樣,日期天數(shù)很多的時候,秒數(shù)就幾千幾萬了,所以推薦使用日歷里面的日期集合

高b格方式

        NSCalendar *calendar = [NSCalendar currentCalendar];
        NSDate *date = [NSDate date];
        //日歷集合的結構體
        NSCalendarUnit units = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;

        NSDateComponents *components = [[NSDateComponents alloc] init];
        [components setYear:-1];
        [components setMonth:-1];
        NSDate *lastMonth = [calendar dateByAddingComponents:components toDate:date options:kNilOptions];
        components = [calendar components:units fromDate:lastMonth];
        NSLog(@"去年的 上一個月 %@",components);
image_1bgvljn2l18qe1ouf1aeudju37013.png-33.7kB
image_1bgvljn2l18qe1ouf1aeudju37013.png-33.7kB
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容