在我的应用程序中,我需要检查用户是否年满 18 岁。我为他提供 UIDatePickerView,然后他选择他的生日日期。我将它存储在 NSDate 字段中。 如何查看自己的生日是否已过去18年?
最佳答案
[[[NSCalendar currentCalendar] components:NSYearCalendarUnit fromDate:birthDate toDate:[NSDate date] options:0] year]
或如 Jonathan Grynspan指出,这样会更好:
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
int years = [[gregorian components:NSYearCalendarUnit fromDate:birthDate toDate:[NSDate date] options:0] year];
[gregorian release];
现在有了 ARC,它可以(过于)简短:
int years = [[[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] components:NSYearCalendarUnit fromDate:birthDate toDate:[NSDate date] options:0] year];
关于iphone - 如何检查用户选择的 NSDate 是否发生在几年前?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5144085/