獲取某個(gè)日期后n個(gè)月的日期

iOS獲取某個(gè)日期后n個(gè)月的日期

一、給一個(gè)時(shí)間,給一個(gè)數(shù),正數(shù)是以后n個(gè)月,負(fù)數(shù)是前n個(gè)月;

 -(NSDate *)getPriousorLaterDateFromDate:(NSDate *)date withMonth:(NSInteger)month 
  { 
       NSDateComponents *comps = [[NSDateComponents alloc] init]; 
       [comps setMonth:month];  
       NSCalendar *calender = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
       NSDate *mDate = [calender dateByAddingComponents:comps toDate:date options:0];
       return mDate;
 }

二、設(shè)置你需要增加或減少的年、月、日即可獲得新的日期,上述的表示獲取mydate日期前一個(gè)月的日期,如果該成+1,則是一個(gè)月以后的日期,以此類(lèi)推都可以計(jì)算。

- (NSDate *)getLaterDateFromDate:(NSDate *)date withYear:(NSInteger)year month:(NSInteger)month day:(NSInteger)day {
     NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
         NSDateComponents *comps = nil;
    comps = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:date];
    NSDateComponents *adcomps = [[NSDateComponents alloc] init];
    [adcomps setYear:year];
    [adcomps setMonth:month];
    [adcomps setDay:day];
    NSDate *newdate = [calendar dateByAddingComponents:adcomps toDate:date options:0];
     return newdate;
}

補(bǔ)充 : 將時(shí)間戳轉(zhuǎn)換為 NSDate

NSDate *date = [self getLaterDateFromDate:[NSDate dateWithTimeIntervalSince1970:[now_time integerValue] withYear:3 month:0 day:0];

補(bǔ)充 :將NSDate轉(zhuǎn)換為 字符串日期格式

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];
NSString *dateStr = [formatter stringFromDate:date];

推薦文章 : https://blog.csdn.net/sqc3375177/article/details/53608867

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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