两个日期之间有多少个季度?

时间:2012-11-23 13:13:21

标签: objective-c ios nsdate nscalendar nsdatecomponents

NSCalendar *calendar= [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSCalendarUnit unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents *dateStart = [calendar components:unitFlags fromDate:start];
quarterStart = [dateStart quarter];
NSDateComponents *dateEnd = [calendar components:unitFlags fromDate:end];
quarterEnd = [dateEnd quarter];

有两个NSDate开始和结束并提取开始季度和结束季度我需要知道这两个日期之间的差异。

我知道我可以划分总天数/ 90天,但我正在寻找另一种只有这些数据的解决方案。

任何提示?

2 个答案:

答案 0 :(得分:2)

你应该尝试:

NSDateComponents *result = [[NSCalendar currentCalendar] components:NSQuarterCalendarUnit fromDate:start toDate:end options:0];
NSInteger numberOfQuaters = [result quarter];

答案 1 :(得分:0)

我已经解决了使用它,因为其他建议的答案不适用于Apple的季度单位错误。

numberOfQuarters = (4 - startQuarter) + ((endYear -1 - startYear) * 4) + endQuarter;