Je crée un sélecteur de date par programme pour ios 7 et définissez la date maximale et la date minimum.Mais il renvoie une mauvaise année pour certains jours de décembre.iOS: Le sélecteur de datePicker affiche la valeur exacte mais renvoie une date erronée
[fromDatePicker addTarget:self action:@selector(fromDatePickerAction:) forControlEvents:UIControlEventValueChanged];
NSDate *date = [NSDate date];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier: NSGregorianCalendar];
NSDateComponents * components = [[NSDateComponents alloc] init];
NSDateComponents *monthComponents = [gregorian components:NSMonthCalendarUnit fromDate:date];
int currentMonth = [monthComponents month];
NSDateComponents *dayComponents = [gregorian components:NSDayCalendarUnit fromDate:date];
int dayss=[dayComponents day];
[components setYear:0];
NSDate * minDate = [gregorian dateByAddingComponents: components toDate: date options: 0];
[components setYear:0];
[components setMonth:12-currentMonth];
[components setDay:31-dayss];
NSDate * maxDate = [gregorian dateByAddingComponents: components toDate: date options: 0];
fromDatePicker.minimumDate=minDate;
fromDatePicker.maximumDate=maxDate;
[self.view addSubview:fromDatePicker];
- (void) fromDatePickerAction:(id)sender{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"YYYY-MM-dd hh:mm aa"];
[self.delegate didTouchAddNotePicker:[dateFormatter stringFromDate:[fromDatePicker date]]];
NSLog(@"%@",[dateFormatter stringFromDate:[fromDatePicker date]]);
//_lblDate.text=[dateFormatter stringFromDate:[fromDatePicker date]];
}
Ici, je choisis cette date indiquée dans la figure 1.But il retourne la date dans la figure 2
S'il vous plaît aider à résoudre ce problème
Vous êtes un vrai sauveur! Merci beaucoup pour cet homme! nous a sauvé des âges de la recherche et du débogage! – Abzoozy