-1

ありふれた質問のように聞こえるかもしれませんが、ここで少し行き詰まりました。したがって、次のような値を表示する DatePicker を取得しました。

-(void)defaultBirthdayPickerDate{

    NSString *dateString = @"09-Oct-1987";
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
    dateFormatter.dateFormat = @"dd-MMM-yyyy";
    NSDate *date = [dateFormatter dateFromString:dateString];

    [self.birthdayPicker setDate:date];
}

データを抽出する方法を知る必要があります (ユーザーが正しいものを選択した後)。その後、それを整数に変換します (後で別の場所に保存しますが、それは私が処理できます)。たとえば、ユーザーが 1983 年 3 月 5 日にタップすると、整数 30 (2013-1983) が返されました。私を助けてください、私はこれにあまり熱心ではありません。アドバイスをいただければ幸いです。

4

1 に答える 1

1

以下のコードを使用してください....

NSString *dateString = @"09-Oct-1987";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
dateFormatter.dateFormat = @"dd-MMM-yyyy";
NSDate *date = [dateFormatter dateFromString:dateString];
[self.birthdayPicker setDate:date];

NSDate *birthDate = self.birthdayPicker.date;

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit
                                           fromDate:date
                                             toDate:birthDate
                                            options:0];

NSLog(@"Difference in years %i/", components.year);
于 2013-03-05T05:57:28.910 に答える