【ios】 日期单独对年、月、日做加减

1、当前时间减去18年

     NSDate *currentDate = currentDate = [NSDate date];
     NSCalendar
*calendar = nil; if ([UIDevice currentDevice].systemVersion.doubleValue >= 8.0) { calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian]; } else { calendar = [NSCalendar currentCalendar]; } NSDateComponents *dateComponents = [calendar components:NSYearCalendarUnit fromDate:currentDate]; [dateComponents setYear:-18]; NSDate *newdate = [calendar dateByAddingComponents:dateComponents toDate:currentDate options:0];

2、当前时间减去18年4个月12天

     NSDate *currentDate = currentDate = [NSDate date];
     NSCalendar *calendar = nil;
        if ([UIDevice currentDevice].systemVersion.doubleValue >= 8.0) {
            calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian];
        } else {
            calendar = [NSCalendar currentCalendar];
        }
        NSDateComponents *dateComponents = [calendar components:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit fromDate:currentDate];
        [dateComponents setYear:-18];
        [dateComponents setMonth:-4];
        [dateComponents setDay:-12];
        
        NSDate *newdate = [calendar dateByAddingComponents:dateComponents toDate:currentDate options:0];   

3、当前时间加上18年4个月12天

     NSDate *currentDate = currentDate = [NSDate date];
     NSCalendar *calendar = nil;
        if ([UIDevice currentDevice].systemVersion.doubleValue >= 8.0) {
            calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian];
        } else {
            calendar = [NSCalendar currentCalendar];
        }
        NSDateComponents *dateComponents = [calendar components:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit fromDate:currentDate];
        [dateComponents setYear:18];
        [dateComponents setMonth:4];
        [dateComponents setDay:12];
        
        NSDate *newdate = [calendar dateByAddingComponents:dateComponents toDate:currentDate options:0];
原文地址:https://www.cnblogs.com/kaysun/p/5519222.html