2011-09-23 4 views
-1

Comment obtenir quelques dates futures avec les mercredis et vendredis en utilisant NSDateComponents? Les réponses seront grandement appréciées. Merci d'avance.Comment obtenir les dates futures

+3

(http://mattgemmell.com/2008/12/08/what-have-you-tried/) –

Répondre

3

Ceci est en fait un peu un problème difficile si vous voulez qu'il soit totalement pare-balles. Voici comment je le ferais: [? Qu'avez-vous essayé]

NSInteger wednesday = 4; // Wed is the 4th day of the week (Sunday is 1) 
NSInteger friday = 6; 

NSDate *start = ...; // your starting date 
NSDateComponents *components = [[NSDateComponents alloc] init]; 
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 

for (int i = 0; i < 100; ++i) { 
    [components setDay:i]; 
    NSDate *target = [gregorian dateByAddingComponents:components toDate:start options:0]; 
    NSDateComponents *targetComponents = [gregorian components:NSUIntegerMax fromDate:target]; 
    if ([targetComponents weekday] == wednesday || [targetComponents weekday] == friday) { 
    NSLog(@"found wed/fri on %d-%d-%d", [targetComponents month], [targetComponents day], [targetComponents year]); 
    } 
} 

[gregorian release]; 
[components release]; 
+0

Il fonctionne !!. Merci beaucoup.. – isarathg

0

Pour obtenir le bon jour de la semaine, vous devez créer une instance appropriée de NSCalendar, créer un objet NSDate à l'aide de dateFromComponents: puis utiliser les composants: fromDate: pour récupérer le jour de la semaine.

0

Si vous avez NSDate exemple pour le béton en semaine (mercredi F.E.), vous pouvez obtenir de nouvelles dates à venir en utilisant le code suivant:

NSDate *yourDate = ... 
NSDateComponents* components = [[NSDateComponents alloc] init]; 
components.week = weeks; 
NSDate* futureDate = [[NSCalendar reCurrentCalendar] dateByAddingComponents:components toDate:yourDate options:0]; 
[components release]; 

post-scriptum D'accord avec Brian, essayez de faire des recherches avant de demander.

Questions connexes