2013-03-04 2 views
-1

Это может звучать как обычный вопрос, но я немного застрял здесь. Таким образом, я получил DatePicker, которые отображают значение, как это:Как извлечь данные из 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]; 
} 

Мне нужно знать, как извлекать данные (после того, как пользователь выбрал правильный), и после этого преобразовать его в целое (а затем сохранить его где-нибудь еще, но эта вещь, которую я могу обработать). Например, пользователь нажал 5 марта 1983 года, и я получил Integer 30 (2013-1983). Пожалуйста, помогите мне, я не очень увлекаюсь этим, любые советы будут оценены.

+0

вы можете получить дату из палитры, а затем использовать: 'длинные т = [разобран timeIntervalSinceReferenceDate];' преобразовать его в секундах с 1970 –

+0

спасибо Дэвид –

ответ

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); 
+0

спасибо Bhanu –

Смежные вопросы