97 votes

Comment obtenir NSDate le jour, le mois et l'année dans un format de nombre entier?

Je veux obtenir le jour, le mois et l'année de composants de NSDate en forme entière c'est à dire si la date est 1/2/1988 alors que je devrais obtenir 1, 2 et 1988 séparément comme un entier. Comment puis-je faire dans l'iPhone? J'ai trouvé la même question, mais la méthode descriptionWithCalendarFormat: il donne l'avertissement et semble être obsolète maintenant.

224voto

Janak Nirmal Points 15980

Voici pour vous,

NSDate *currentDate = [NSDate date];
NSCalendar* calendar = [NSCalendar currentCalendar];
NSDateComponents* components = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:currentDate]; // Get necessary date components

 [components month]; //gives you month
 [components day]; //gives you day
 [components year]; // gives you year

Vous pouvez utiliser NSDateComponents pour que ci-dessus.

Veuillez visiter cette page pour plus de détails.

Espérons que cela aide.

17voto

user755278 Points 882

Oui, par l'utilisation de NSCalendar, cependant, je pense que cela rendra votre travail.

NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit fromDate:[NSDate date]];
NSInteger day = [components day];    
NSInteger month = [components month];
NSInteger year = [components year];

9voto

iOS Developer Points 3134

Vous pouvez utiliser NSDateComponents pour l'obtenir,

NSCalendar *calendar = [NSCalendar autoupdatingCurrentCalendar];
NSDate *currDate = [NSDate date];
NSDateComponents *dComp = [calendar components:( NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit ) 
                                      fromDate:currDate];

int day = [dComp day];
int month = [dComp month];
int year = [dComp year];

2voto

Dinesh_ Points 94

U pouvez essayer cette .......

Mycal = [NSCalendar currentCalendar];
today = [NSDate date];
compA =[Mycal components:(NSMonthCalendarUnit | NSDayCalendarUnit | NSYearCalendarUnit | NSWeekdayCalendarUnit) fromDate:today];     
FirstDateofMonth=[today dateByAddingTimeInterval:([compA day]-1)*(-24*60*60)];

compA =[Mycal components:(NSMonthCalendarUnit | NSDayCalendarUnit | NSYearCalendarUnit | NSWeekdayCalendarUnit) fromDate:FirstDateofMonth];
today = FirstDateofMonth;
compA = [Mycal components:(NSMonthCalendarUnit | NSDayCalendarUnit | NSYearCalendarUnit | NSWeekdayCalendarUnit) fromDate:today];
[compA setMonth:([compA month])];
[self DrawMonthInPortraitView];
[compA retain];

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X