2013-09-08 15 views
18

mela è in app messaggi per i messaggi di oggi Oggi 11:45 Ieri 11:45come utilizzare NSDateFormatter a vedere "Oggi" usa stringa

vedo nel sito degli sviluppatori di Apple

Per specificare un formato fisso personalizzato per un formattatore di date, utilizzare setDateFormat :. La stringa di formato utilizza i modelli di formato dello standard tecnico 352 Unicode . La versione dello standard varia con il rilascio del sistema operativo:

Calendario campi

campi (alias | (campo *, speciale *))> campo (alias | (displayName ?, relativa *, speciale *))>

Traduzioni possono essere forniti per i nomi dei campi del calendario (elementi di un calendario, come il giorno, mese, anno, ora, e così via), e per valori relativi per quei campi (ad esempio , il giorno con relativo valore -1 è "Ieri"). Dove non esiste una parola o frase consueta in una lingua specifica per un valore relativo, deve essere omessa .

come usarlo in Xcode?

risposta

37

uso – setDoesRelativeDateFormatting:

NSDateFormatter *dateFormatter = [NSDateFormatter new]; 

dateFormatter.dateStyle = NSDateFormatterShortStyle; 
dateFormatter.timeStyle = NSDateFormatterShortStyle; 

dateFormatter.doesRelativeDateFormatting = YES; 

NSLog(@"%@", [dateFormatter stringFromDate:[NSDate date]]); 

questo registra Today, 11:30 AM su locali it_IT.

+0

NSDateFormatter * formatter = [[NSDateFormatter alloc] init]; [formatter setDateStyle: NSDateFormatterFullStyle]; [formatter setDoesRelativeDateFormatting: YES]; NSData * date = [data NSDate]; NSLog (@ "% @", [formatter stringFromDate: date]); – user301212

-1

Per ottenere il nome del giorno si può semplicemente utilizzare un NSDateFormatter in questo modo:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"EEEE"]; 
NSString *dayName = [dateFormatter stringFromDate:yourDate]; 

in modo che il formato della data è: "EEEE".