Ios 目标-C返回年份和;特定日期后的天数

Ios 目标-C返回年份和;特定日期后的天数,ios,objective-c,cocoa-touch,Ios,Objective C,Cocoa Touch,我观察了一个特定方法的文档,该方法获取日期之间的间隔: - (NSTimeInterval)timeIntervalSinceDate:(NSDate *)anotherDate 我需要这种方法(或替代方法)为我提供自给定日期起的年份和天数 我怎样才能计算出这个呢?我可以使用天/365,然后剩余的是天,但这不是很准确,我需要准确度 谢谢 使用-(NSTimeInterval)timeIntervalSinceDate:(NSDate*)另一个日期在许多情况下(夏令时、闰秒等)会失败,您应该考虑

我观察了一个特定方法的文档,该方法获取日期之间的间隔:

- (NSTimeInterval)timeIntervalSinceDate:(NSDate *)anotherDate
我需要这种方法(或替代方法)为我提供自给定日期起的年份和天数

我怎样才能计算出这个呢?我可以使用天/365,然后剩余的是天,但这不是很准确,我需要准确度

谢谢

使用
-(NSTimeInterval)timeIntervalSinceDate:(NSDate*)另一个日期在许多情况下(夏令时、闰秒等)会失败,您应该考虑日历,因为他们知道这一点

NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [gregorianCalendar components:(NSDayCalendarUnit |NSYearCalendarUnit )
                                                    fromDate:startDate
                                                      toDate:[NSDate date]
                                                     options:0];

NSLog(@"%ld", [components day]);
NSLog(@"%ld", [components year]);

也许这就是你想要的答案: