266 votes

Convertir NSDate à NSString

Comment puis-je convertir des, NSDate de NSString , de sorte que seulement l'année @"yyyy" est le format de sortie de la chaîne?

475voto

Allan Points 2740

Comment au sujet de...

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy"];

//Optionally for time zone converstions
[formatter setTimeZone:[NSTimeZone timeZoneWithName:@"..."]];

NSString *stringFromDate = [formatter stringFromDate:myNSDateInstance];

[formatter release];

284voto

Oded Ben Dov Points 4465

Je ne sais pas comment nous avons tous manqué: localizedStringFromDate:dateStyle:timeStyle:

NSString *dateString = [NSDateFormatter localizedStringFromDate:[NSDate date] 
                                                      dateStyle:NSDateFormatterShortStyle 
                                                      timeStyle:NSDateFormatterFullStyle];
NSLog(@"%@",dateString);

des sorties 13/06/12 00:22:39 GMT+03:00'

87voto

Al Pascual Points 862

L'espoir d'ajouter de la valeur en fournissant la normale formateur, y compris l'année, le mois et le jour avec le temps. Vous pouvez utiliser ce formateur pendant plus d'une année

[dateFormat setDateFormat: @"yyyy-MM-dd HH:mm:ss zzz"]; 

Espérons que cela aide à plus de gens

Cheers Al

25voto

Nik Burns Points 2330

il y a un certain nombre de NSDate aides sur le web, j'ai tendance à utiliser:

https://github.com/billymeltdown/nsdate-helper/

Readme extrait ci-dessous:

  NSString *displayString = [NSDate stringForDisplayFromDate:date];

Ce produit est le suivant genres de la sortie:

‘3:42 AM' – if the date is after midnight today
‘Tuesday' – if the date is within the last seven days
‘Mar 1' – if the date is within the current calendar year
‘Mar 1, 2008' – else ;-)

5voto

pix0r Points 17854

Si vous n'avez pas NSDate -descriptionWithCalendarFormat:timeZone:locale: disponible (je ne crois pas que l'iPhone/Cocoa Touch comprend ce), vous devrez utiliser les strftime et le singe avec un certain style C à cordes. Vous pouvez obtenir le timestamp UNIX à partir d'un NSDate l'aide NSDate -timeIntervalSince1970.

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