如何设置日期选择器以显示1910-2010之间的年份

时间:2013-02-08 08:38:13

标签: iphone ios ios4 uidatepicker

我试图仅在1910-2010之间显示日期选择器。我的意思是用户必须在1910年至2010年之间进行选择。我尝试了以下代码,但它无法正常工作。

日期也可以从1到31中选择,月份也可以从1月到12月选择。

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

    [self.myPicker setMaximumDate:maxDate];
    [self.myPicker setMinimumDate:minDate];

请让我知道,我做错了什么。 非常感谢。

2 个答案:

答案 0 :(得分:4)

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd"];
NSDate *minDate = [formatter dateFromString:@"1910-01-01"];
NSDate *maxDate = [formatter dateFromString:@"2010-12-31"];
self. myPicker.minimumDate = minDate;
self. myPicker.maximumDate = maxDate;

答案 1 :(得分:1)