iOS 计算两个日期之间的天数问题
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 }
根据以上两个方法可以获得更多根据日期计算天数的方法,只是在获取日期时传的参数不同,在此就不一一列举了。
只要努力,结果就会像大白兔奶糖一样甜。