私のアプリケーションでは、ユーザーが18歳になったかどうかを確認する必要があります。私は彼にUIDatePickerViewを提供し、彼は彼の誕生日を選択します。NSDateフィールドに保存します。彼の誕生日からすでに18年が経過しているかどうかを確認するにはどうすればよいですか?
質問する
1102 次
2 に答える
10
[[[NSCalendar currentCalendar] components:NSYearCalendarUnit fromDate:birthDate toDate:[NSDate date] options:0] year]
または、ジョナサン・グリンスパンが指摘したように、これはより良いでしょう:
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];
于 2011-02-28T15:53:53.153 に答える
-2
それはそのような何かで行われるべきです:
NSTimeInterval interval = [birthday timeIntervalSinceNow];
if (interval > 18*365*24*60*60) {
NSLog(@"You're more than 18");
}
于 2011-02-28T15:55:22.030 に答える