2012-07-12 9 views
6

Voglio determinare giorno, mese e anno della data corrente in iOS. Ho trovato questo dopo una ricerca in rete:Come determinare giorno, mese e anno int in iOS

NSDate *date = [NSDate date]; 
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 
NSDateComponents *components = [calendar components:(NSDayCalendarUnit) fromDate:date]; 
NSInteger Day = [components day]; 
NSInteger month = [components month]; 
NSInteger year = [components year]; 

Questo codice mostra il giorno corretto, ma l'anno e il mese non mostra come dovrebbe essere. Mostra alcune cifre come 2147483647. Non sono riuscito a trovare una soluzione quindi, per favore aiutami a correggere il codice che ho trovato, o scrivi del nuovo codice che faccia ciò di cui ho bisogno.

risposta

13

questa linea è il problema:

NSDateComponents *components = [calendar components:(NSDayCalendarUnit) fromDate:date]; 

Dovrebbe essere

NSDateComponents *components = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:date]; 
+0

Grazie SOSBORN Apprezzo il vostro aiuto – rudasagani

Problemi correlati