2015-08-14 1 views
0

j'obtenir la séquence du mois en utilisant le code suivantcomment obtenir la séquence de l'année que je reçois l'ordre mois seulement

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]]; 
    } 

je veux obtenir la séquence de l'année comment obtenir ... s'il vous plaît donner une solution

+0

Pouvez-vous expliquer plus sur "Après un an"? – anhtu

+0

mins je veux jsut comme 2015,2016,2017 ....... –

+0

Peut-être que je me méprends. Mais pourquoi ne faites-vous pas simple comme: +1 à une année précédente? – anhtu

Répondre

1

Faire une fonction qui donne à ce jour de l'année prochaine comme ci-dessous,

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

Réglez cette date dans votre étiquette.

ci-dessus je passe la date actuelle, donc j'obtiendrai année: 2016.

+0

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

+0

merci #Kirit Modi puis-je utiliser cette année d'affichage du code sur la vue sélecteur –

+0

pour pickerview, avoir un tableau de l'année. –

0

façon simple, il enregistre cela et les 7 années suivantes.

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

ou pour obtenir un tableau de chaînes

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