1 //獲取當前時間若干年、月、日之后的時間
2 + (NSDate *)dateWithFromDate:(NSDate *)date years:(NSInteger)years months:(NSInteger)months days:(NSInteger)days{ 3 NSDate * latterDate; 4 if (date) { 5 latterDate = date; 6 }else{ 7 latterDate = [NSDate date]; 8 } 9 NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; 10 NSDateComponents *comps = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute 11 fromDate:latterDate]; 12
13 [comps setYear:years]; 14 [comps setMonth:months]; 15 [comps setDay:days]; 16
17 return [calendar dateByAddingComponents:comps toDate:latterDate options:0]; 18 }
1 /** 2 * @method 3 * 4 * @brief 獲取兩個日期之間的天數 5 * @param fromDate 起始日期 6 * @param toDate 終止日期 7 * @return 總天數 8 */
9 + (NSInteger)numberOfDaysWithFromDate:(NSDate *)fromDate toDate:(NSDate *)toDate{ 10 NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; 11
12 NSDateComponents * comp = [calendar components:NSCalendarUnitDay 13 fromDate:fromDate 14 toDate:toDate 15 options:NSCalendarWrapComponents]; 16 NSLog(@" -- >> comp : %@ << --",comp); 17 return comp.day; 18 }
根據以上兩個方法可以獲得更多根據日期計算天數的方法,只是在獲取日期時傳的參數不同,在此就不一一列舉了。