2016-08-01 18 views
0

Wie stelle ich das maximale Datum in UIDatepickerView als heute 23:59 Uhr ein. Ich versuchte soWie maximale Datum in uidatepickerview als heute 23:59 festlegen?

 datePicker.maximumDate = [NSDate date]; 

Aber es funktioniert nicht. Wie kann ich das tun?

+0

können Sie 'verwenden NSDateComponents' zu schaffen, dass bestimmtes Datum. – Larme

+0

Sie müssen ein neues 'NSDate' für das heutige Datum mit der Zeit erstellen 23:59 – rckoenes

Antwort

2

Sie können wie etwas tun,

NSDateFormatter *df = [[NSDateFormatter alloc]init]; 

[df setDateFormat:@"yyyy-MM-dd"]; 

NSDate *currentDate = [NSDate date]; 

NSString *currentDateStr = [[df stringFromDate:currentDate] stringByAppendingString:@" 23:59"]; 

[df setDateFormat:@"yyyy-MM-dd HH:mm"]; 

NSDate *maxDate = [df dateFromString:currentDateStr]; 

NSLog(@"max date : %@",maxDate); 

NSLog(@"max date str : %@",[df stringFromDate:maxDate]); 

yourDatePicker.maximumDate = maxDate; 

Update:

Ein anderer Ansatz NSDateComponents wie @droppy vorgeschlagen,

NSDateComponents *dateComponents = [[NSCalendar currentCalendar] components: NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:[NSDate date]]; 
NSInteger day = [dateComponents day]; 
NSInteger month = [dateComponents month]; 
NSInteger year = [dateComponents year]; 
dateComponents.hour = 23; 
dateComponents.minute = 59; 

NSLog(@"%ld : %ld : %ld",(long)day,(long)month,(long)year); 

NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; 
NSDate *resultDate = [gregorianCalendar dateFromComponents:dateComponents]; 

NSDateFormatter *df = [[NSDateFormatter alloc]init]; 
[df setDateFormat:@"yyyy-MM-dd HH:mm"]; 

NSLog(@"result date : %@",resultDate); 
NSLog(@"result date string : %@",[df stringFromDate:resultDate]); 

yourDatePicker.maximumDate = resultDate; 
+1

Was für ein schrecklicher Weg, es zu tun. – Droppy

+1

@Droppy: Sie können andere Ansätze vorschlagen, wenn Sie eine bessere Idee haben !! – Lion

+0

Ja mit 'NSDateComponents'. – Droppy