获取两个日期之间的自然天数,例如:
开始时间:
2012-03-19 23:00
结束时间:
2012-03-20 01:00
这算是一天的时间。
代码:
//计算两个日期之间的天数
-(NSInteger) calcDaysFromBegin:(NSDate *)inBegin end:(NSDate *)inEnd
{
NSInteger unitFlags = NSDayCalendarUnit| NSMonthCalendarUnit | NSYearCalendarUnit;
NSCalendar *cal = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *comps = [cal components:unitFlags fromDate:inBegin];
NSDate *newBegin = [cal dateFromComponents:comps];
[cal release];
NSCalendar *cal2 = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *comps2 = [cal2 components:unitFlags fromDate:inEnd];
NSDate *newEnd = [cal2 dateFromComponents:comps2];
[cal2 release];
NSTimeInterval interval = [newEnd timeIntervalSinceDate:newBegin];
NSInteger beginDays=((NSInteger)interval)/(3600*24);
NSLog(@"-----days:%d, newBegin:%@, newEnd:%@", beginDays, [newBegin toStringDetail], [newEnd toStringDetail]);
return beginDays;
}