Luk*_*asz 2 iphone nsdate nscalendar
在我的应用程序中,我需要检查用户是否已满18岁.我为他提供了UIDatePickerView,他选择了他的生日日期.我将它存储在NSDate字段中.如何检查自生日以来已经过去18年了?
Joh*_*ger 10
[[[NSCalendar currentCalendar] components:NSYearCalendarUnit fromDate:birthDate toDate:[NSDate date] options:0] year]
Run Code Online (Sandbox Code Playgroud)
或者正如Jonathan Grynspan指出的那样,这会更好:
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
int years = [[gregorian components:NSYearCalendarUnit fromDate:birthDate toDate:[NSDate date] options:0] year];
[gregorian release];
Run Code Online (Sandbox Code Playgroud)
而现在使用ARC它可以(过于)简短:
int years = [[[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] components:NSYearCalendarUnit fromDate:birthDate toDate:[NSDate date] options:0] year];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1100 次 |
| 最近记录: |