NSCalendar月份范围

giu*_*ppe 1 nscalendar ios

这段代码

NSDateComponents *component = [[NSDateComponents alloc] init];
NSCalendar       *gregorian = [[NSCalendar alloc]   initWithCalendarIdentifier:NSGregorianCalendar];
[component setMonth:1];
[component setYear:2013];
[component setDay:1];
currentMonth = [gregorian dateFromComponents:component];
NSLog(@"Date in MonthView %@ ",currentMonth);
Run Code Online (Sandbox Code Playgroud)

给我以下日期

Date in MonthView 2012-12-31 23:00:00 +0000
Run Code Online (Sandbox Code Playgroud)

为什么?月份范围应该从0到11?

Luc*_*rdo 5

不,几个月从1到12.这可能是因为您的设备/ PC的时区.设置timezine,你应该有你期望的日期

[component setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]]
Run Code Online (Sandbox Code Playgroud)