我正在尝试从 NSCalendar 和 NSDateComponents 创建一个 NSDate:
NSCalendar *calendar = [NSCalendar currentCalendar];
[calendar setTimeZone:[NSTimeZone localTimeZone]];
NSDateComponents *components = [[NSDateComponents alloc] init];
[components setDay:[self.day intValue]];
[components setMonth:[self.month intValue]];
[components setYear:[self.year intValue]];
self.date = [calendar dateFromComponents:components];
当日、月、年为9/31/2011时,NSDate 为10/1/2011。在测试未更改 NSDate 之后,我为 NSCalendar 设置了时区。我也试过
[calendar setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
这让我回到了9/30/2011。有人看到我计算的方式有错误吗?
谢谢。