-1

我使用 TapKu 日历库。

我想在 UIAlertView 中显示所选日期。

在评论中,我把“信息”的价值。返回 NSDate 的函数是这个:

NSCalendar *gregorian = [[NSCalendar alloc] initWithCa lendarIdentifier:NSGregorianCalendar];
[gregorian setTimeZone:tz];
NSDateComponents *comp = [gregorian components:(NSYearCalendarUnit | NSMonthCalendarUnit) fromDate:[NSDate date]];

[comp setDay:info.day]; // day = 31
[comp setMonth:info.month]; // month = 11
[comp setYear:info.year]; // 2013
[comp setHour:info.hour]; // 10
[comp setMinute:info.minute]; // 0
[comp setSecond:info.second]; // 0
[comp setTimeZone:tz]; // GMT (GMT) offset 0
NSLog(@"COMP BEFORE CHANGING = %@", comp); // It displays the up infos
return [gregorian dateFromComponents:comp];
// The return value is : 2013-12-01 10:00:00 +0000 

为什么返回值是错误的?这完全不是我想要的日期。它增加了一天到 2013 年 11 月 31 日

请帮忙,这个问题让我发疯了哈哈

谢谢

4

1 回答 1

3

完全正确!!!

因为11月只有30天。

于 2013-06-07T17:58:05.913 回答