在UIDatePicker中选择特定日期?

时间:2014-02-11 08:07:59

标签: ios objective-c nsdate nsdateformatter uidatepicker

我正在尝试将服务的日期作为默认日期,并在uidatepicker中进行选择。我尝试了一些东西,但它没有用。

    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] ;
    NSDateComponents *components = [[NSDateComponents alloc] init];
    [components setYear:[[tempBirthDate substringToIndex:4] integerValue]];
    [components setMonth:[[tempString substringFromIndex:5] integerValue]];
    [components setDay:[[tempBirthDate substringFromIndex:8] integerValue]];
    NSDate *defualtDate = [calendar dateFromComponents:components];
    [datePicker setDate:defualtDate];

我缺少什么?

你能帮我解决一下吗?

例如:值来自服务,如03/19/1986

我希望它由选择器选择。

2 个答案:

答案 0 :(得分:3)

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] ;
NSDateComponents *components = [[NSDateComponents alloc] init];
[components setYear:[[tempBirthDate substringWithRange:NSMakeRange(6, 4)] integerValue]];
[components setMonth:[[tempBirthDate substringWithRange:NSMakeRange(0, 2)] integerValue]];
[components setDay:[[tempBirthDate substringWithRange:NSMakeRange(3, 2)] integerValue]];
NSDate *defualtDate = [calendar dateFromComponents:components];
[datePicker setDate:defualtDate];

答案 1 :(得分:1)

您可以使用NSDateFormatter将日期放入日期选择器:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ;
[formatter setDateFormat:@"MM/dd/yyyy"];
NSDate *date = [formatter dateFromString:dateFromServer];
[datePicker setDate:date];