Domanda

Sto sviluppando un'applicazione in che ho usato DatePicker per selezionare la data ma mi dà appuntamento con il tempo .Ho si sono convertiti in quel formato stringa, ora voglio solo data da quel. Come devo fare that.Plz me suggerire qualcosa.

In seguito è il mio frammento di codice.

  NSDate *selected =[datePicker date];
  NSString *dateString = [NSString stringWithFormat:@"%@", selected];

qui selettore data è oggetto di UIDatePicker.

È stato utile?

Soluzione

È possibile utilizzare NSCalendar per ottenere il mese, il giorno, e componenti anno dalla data, manipolarli, e rimontarli. Ecco qualche esempio di codice.

NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *dateComponents = [calendar components:( NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit ) fromDate:date];

[otherDateComponents setYear:[dateComponents year]];
[otherDateComponents setMonth:[dateComponents month]];
[otherDateComponents setDay:[dateComponents day]];

NSDate *newDate = [calendar dateFromComponents:otherDateComponents];

Si tenga presente che dal momento che il calendario attuale è locale-specifica, i valori si ottiene indietro non sarà la stessa su tutti i dispositivi. Si potrebbe desiderare di indicare un calendario particolare per i vostri scopi. NSGregorianCalendar è quello più spesso utilizzato in Occidente.

Altri suggerimenti

Ecco un'altra soluzione:

NSDate *selected =[datePicker date];
NSDateFormatter *formatter = [NSDateFormatter new];

[formatter setDateStyle:NSDateFormatterMediumStyle];
NSDate *day = [formatter dateFromString:[formatter stringFromDate:selected]];
[formatter release];
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top