Rimozione volta dal formato della data
-
05-10-2019 - |
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.
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];