2015-08-14 2 views
0

У меня есть получить Последовательность месяца, используя следующий кодкак получить последовательность лет, как я получаю последовательность месяца только

NSDate *aDate = [NSDate dateWithTimeInterval:row*30*24*60*60 sinceDate:self.earliestPresentedDate]; 

    NSDateComponents *components = [self.calendar components:(NSEraCalendarUnit|NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit) fromDate:[NSDate date]]; 
    NSDate *today = [self.calendar dateFromComponents:components]; 
    components = [self.calendar components:(NSEraCalendarUnit|NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit) fromDate:aDate]; 
    NSDate *otherDate = [self.calendar dateFromComponents:components]; 

    if ([today isEqualToDate:otherDate]) { 

    } else { 
     NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
     formatter.locale = [NSLocale currentLocale]; 
     formatter.dateFormat = @"MMM "; 

     [lblDate setText:[formatter stringFromDate:aDate]]; 
    } 

я хочу, чтобы получить последовательность из года, как получить ... пожалуйста, дайте решение

+0

Можете ли вы объяснить подробнее о «Через год»? – anhtu

+0

mins Я хочу jsut, как 2015,2016,2017 ....... –

+0

Возможно, я неправильно понял. Но почему бы вам не сделать это просто: +1 к предыдущему году? – anhtu

ответ

1

сделать одну функцию, которая дает на сегодняшний день следующего года, как показано ниже,

NSDateComponents *dayComponent = [[NSDateComponents alloc] init]; 
    dayComponent.year = +1; 

    NSCalendar *theCalendar = [NSCalendar currentCalendar]; 
    NSDate *newDate = [theCalendar dateByAddingComponents:dayComponent toDate:[NSDate date] options:0]; 

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
    formatter.locale = [NSLocale currentLocale]; 
    formatter.dateFormat = @"yyyy"; 
    NSString *strDate = [formatter stringFromDate:newDate]; 

    NSLog(@"%@",strDate); 

Установите эту дату в наклейке.

выше Я передаю текущую дату, так что я Выйду год: 2016.

+0

'dayComponent.year = +1;' ??? – trojanfoe

+0

спасибо # Kirit Modi Могу ли я использовать этот год отображения кода на экране выбора –

+0

для pickerview, есть массив года. –

0

Простого способ, он записывает это и последующие 7 лет.

NSInteger howManyYears = 8; 
    NSInteger thisYear = [[NSCalendar currentCalendar] component:NSCalendarUnitYear fromDate:[NSDate date]]; 
    for (NSInteger i = 0; i < howManyYears; ++i) { 
    NSLog(@"%ld", thisYear++); 
    } 

или получить массив строк

NSMutableArray *theYears = [NSMutableArray array]; 
    NSInteger howManyYears = 8; 
    NSInteger thisYear = [[NSCalendar currentCalendar] component:NSCalendarUnitYear fromDate:[NSDate date]]; 
    for (NSInteger i = 0; i < howManyYears; ++i) { 
    [theYears addObject:[NSString stringWithFormat:@"%ld", thisYear++]]; 
    } 
    NSLog(@"%@", theYears);