2010-12-14 2 views

Répondre

14

Convertissez votre texte UILabel en format de date à l'aide NSDateFormatter et de mettre cette valeur en remplaçant "Date" dans l'exemple suivant:

UIDatepicker *datePicker; 

NSDate *Date=[NSDate date]; 

datePicker.minimumDate=Date; 
+0

@Nishant, cela fonctionne, donc si vous avez une date sur une étiquette, convertissez d'abord cette date en objet date en utilisant dateFormatter puis utilisez minimumDate. – Ishu

3

Vous pouvez utiliser NSDateFormatter et utiliser setDateFormat méthode de fixation Format de date.

[formatter setDateFormat:@"MMM dd,yyyy"]; 

NSDate *date = [formatter dateFromString:lblDate.text]; 

datePicker.minimumDate=date; 
+0

Je l'ai fait mais ça ne marche pas j'ai date comme "Dec 14, 2010" et quand je le convertis en date, j'ai eu la valeur "nul" ....... !! – iphonedev23

+0

utilisez [formatter setDateFormat: @ "MMM jj, aaaa"]; Vous devez définir votre format comme votre date est. utilisez la virgule et l'espace au bon endroit. –

0
NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease]; 
     NSDate *currentDate = [NSDate date]; 
     NSDateComponents *comps = [[[NSDateComponents alloc] init] autorelease]; 
     [comps setYear:0]; 
     NSDate *maxDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0]; 
     [comps setYear:-5]; 
     NSDate *minDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0]; 

     [datePicker setMaximumDate:maxDate]; 
     [datePicker setMinimumDate:minDate]; 

il indiquant la date de cinq ans .......

0

Voir la durée minimale de la date actuelle à un mois:

NSDate* currentTime = [NSDate date]; 

[datePicker setMinimumDate:[currentTime dateByAddingTimeInterval:43200]];//min time +12:00 for the current date 

[datePicker setMaximumDate:[currentTime dateByAddingTimeInterval:2592000]]; // max day (+ 30) 
Questions connexes