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 }

根据以上两个方法可以获得更多根据日期计算天数的方法,只是在获取日期时传的参数不同,在此就不一一列举了。

posted on 2016-05-31 14:28  陌上红尘  阅读(7202)  评论(0编辑  收藏  举报

导航