Se si dispone di un oggetto NSDate
, come è possibile formattare una NSString per produrre solo le prime 3 lettere del giorno (come lunedì, martedì, mercoledì, giovedì, venerdì, domenica, domenica) e le prime 3 lettere del mese (gen, feb, mar, apr, mag, giu, lug, ago, set, ott, nov, dic)?Formattazione di un NSDate con nomi mese/giorno abbreviati
Attualmente sto usando questo NSDateFormatter
:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
dateFormatter.dateFormat = @"MMMM dd yyyy";
NSDate *date = ...
NSString *dateString = [dateFormatter stringFromDate:date];
NSLog(@"dateString: %@",dateString);
// outputs August 09 2013
// I would like the output to be Fri, August 9
Modifica
Ho anche provato con il NSDateComponent ma mi chiedo se c'è qualche scorciatoia per ottenere le abbreviazioni ...
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit fromDate:date];
Hai visto gli specificatori di formattazione della data? Vedi http://www.unicode.org/reports/tr35/tr35-25.html#Date_Format_Patterns – rmaddy
@rmaddy grazie signore. Non sapevo che la documentazione esisteva. si riferirà ad esso d'ora in poi. –
Guarda i documenti di riferimento per 'NSDateFormatter'. C'è un link a "formattatori di dati" che a sua volta ha un link per "formattatori di date" che ha finalmente un link alla pagina a cui ho fatto riferimento. È molto ovvio;) – rmaddy