2010-05-29 4 views
0

Je développe une application dans laquelle j'ai utilisé DatePicker pour choisir la date mais elle me donne la date avec le temps. J'ai converti ce format en chaîne, maintenant je veux juste dater de cela. Comment devrais-je faire cela? Plz me suggérer quelque chose.Suppression de l'heure du format de la date

Voici mon extrait de code.

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

ici le sélecteur de date est l'objet de UIDatePicker.

Répondre

0

Vous pouvez utiliser NSCalendar pour obtenir le mois, le jour et l'année des composants de votre date, les manipuler et les réassembler. Voici un exemple de code.

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]; 

Soyez conscient que depuis les valeurs que vous obtenez de retour ne sera pas le calendrier en cours est spécifique locale, être les mêmes sur tous les appareils. Vous pouvez spécifier un calendrier particulier pour vos objectifs. NSGregorianCalendar est le plus utilisé dans l'ouest.

0

Voici une autre solution:

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

[formatter setDateStyle:NSDateFormatterMediumStyle]; 
NSDate *day = [formatter dateFromString:[formatter stringFromDate:selected]]; 
[formatter release]; 
+0

'NSDateFormatterMediumStyle' est spécifique à la localisation. Bien que cela soit peu probable, il est possible qu'il ne retourne pas les champs que vous voulez. Tant que vous pouvez assumer le calendrier grégorien, vous êtes plus sûr en utilisant une méthode explicite telle que la solution acceptée ou une chaîne de format personnalisé. – warrenm