我正在尝试从一个月和一年生成一个NSDate(所有都是整数格式) .
现在我的尝试是这样的:
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [[NSDateComponents alloc] init];
NSNumber *day = [dataSource valueForKey:@"day"];
NSNumber *month = [dataSource valueForKey:@"month"];
NSNumber *year = [dataSource valueForKey:@"year"];
[components setDay:[day intValue]];
[components setMonth:[month intValue]];
[components setMonth:[year intValue]];
NSDate *_date = [calendar dateFromComponents:components];
但是, _date 在day = 24,month = 8,year = 2011时输出以下内容:
0168-07-25 04:56:02 0000
我必须做一些可怕的错误,但我不知道是什么 . 任何人都知道可能会发生什么?
3 回答
您的代码中有拼写错误:(最后一行应为
setYear:
)一个明显的故障是:
您正在调用setMonth两次,第二次调用year的值 . 应该: