如何从NSDate计算年龄

s_k*_*les -1 nsdate nsdateformatter nsdatecomponents ios

我正在开发一个应用程序,需要根据他们的生日找到某人的年龄.我有一个简单的NSDate但我怎么会发现这个NSDateFormatter

Gab*_*lla 24

- (NSInteger)ageFromBirthday:(NSDate *)birthdate {
    NSDate *today = [NSDate date];
    NSDateComponents *ageComponents = [[NSCalendar currentCalendar]
                                       components:NSCalendarUnitYear
                                       fromDate:birthdate
                                       toDate:today
                                       options:0];
    return ageComponents.year;
}
Run Code Online (Sandbox Code Playgroud)

NSDateFormatter用于格式化日期(呃!).根据经验,无论何时你需要对NSDatea使用a NSCalendar和相关的类进行某些计算,例如NSDateComponents.