2010-08-24 18 views
2

Est-il possible de trouver la semaine courante de l'année en utilisant NSDateComponents et setWeek:? Comme setWeek utilise un nombre de 1 à 52 chaque semaine dans l'année, comment puis-je trouver le nombre représentant cette semaine?NSDateComponents setWeek - Trouvez cette semaine

+0

vous voulez dire la semaine de la date actuelle, n'est-ce pas? – vodkhang

+0

Oui. Donc juste un nombre, donc 1 étant la première semaine de l'année. –

Répondre

4

Si je comprends bien votre question, je pense que la solution est simple, vous créez un NSDateComponents de la date actuelle et vous obtenez la semaine.

NSCalendar *calendar = [NSCalendar currentCalendar]; 
    NSUInteger unitFlags = NSWeekCalendarUnit; 
    NSDateComponents *dateComponents = [calendar components:unitFlags 
                fromDate:[NSDate date] // for current date 
                options:0]; 

    NSUInteger week = [dateComponents week]; // here is your week 
+0

Ahh! Je vois, bien je viens de découvrir, avant de regarder en arrière ici, je pourrais le faire de cette façon: –

+0

NSDateFormatter * weekFormatter = [[NSDateFormatter alloc] init]; \t [weekFormatter setDateFormat: @ "w"]; \t NSString * weekDateString = [weekFormatter stringFromDate: curDate]; \t [version de la semaine de publication]; –

+0

Notez que la forme correcte est NSCalendar composants: fromDate :, ie. sauter les options :! –