我观察了特定方法的文档,该方法获得了日期之间的间隔:
- (NSTimeInterval)timeIntervalSinceDate:(NSDate *)anotherDate
我需要这种方法(或替代方法)来向我提供自给定日期以来的年份和日期。
我怎么能计算出来?我可以使用days / 365然后剩下的就是日子,但这不是很准确,我需要精确度。
谢谢!
答案 0 :(得分:3)
使用- (NSTimeInterval)timeIntervalSinceDate:(NSDate *)anotherDate
在许多情况下会失败(夏令时,闰秒......),您应该考虑日历,因为他们都知道这一点。
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]);