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];
日、月、年が2011年9月31日の場合、 NSDateは2011年10月1日です。NSDateを変更しなかったテスト後に、NSCalendarのタイムゾーンを設定しました。私も試しました
[calendar setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
それは私に2011年9月30日を返しました。誰かが私がこれを計算している方法でエラーを見ますか?
ありがとう。