Comment puis-je NSLog un NSDate?

Avec le code collé ci-dessous, j'essaye d'save un NSDate. Qu'est-ce que je fais mal ici?

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"YYYY-MM-dd"]; NSDate *todaysDate; todaysDate = [NSDate date]; NSLog(@"Todays date is %@",formatter); 

Tout ce que tu dois faire est:

  NSLog(@"Todays date is %@",[formatter ssortingngFromDate:todaysDate]); 

Ce que vous faites mal, c'est que vous n'avez rien fait pour associer la date au formateur. Donc, vous voudriez faire quelque chose comme ceci:

 NSLog(@"Todays date is %@", [formatter ssortingngFromDate:todaysDate]; 

Le NSDate ne sait rien sur le formatting (juste des informations de date), et le NSDateFormatter ne sait vraiment rien sur les dates, juste comment les formater. Donc, vous devez utiliser des methods comme -ssortingngFromDate: pour formater la date pour un affichage lisible par un humain.

Si ce dont vous avez besoin est de simplement voir les informations de date et n'avez pas besoin d'un format particulier, vous n'avez pas besoin d'un formateur pour save une date:

 NSLog(@"Todays date is %@", todaysDate); 

-description pour vous donner la -description de l'object NSDate . Je ne l'utiliserais pas pour tout ce que vous affichez à l'user (utilisez un NSDateFormatter pour cela), mais c'est pratique si vous ne faites que déboguer et que vous avez besoin de voir des informations sur un object NSDate .

Exemple complet:

  NSDate *today = [NSDate date]; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"YYYY-MM-dd"]; NSLog(@"%@",[formatter ssortingngFromDate:today]); [formatter release];