デフォルトのタイムゾーンで日付を設定しようとしていますが、出力に関する明確な説明をいただければ幸いです。
NSLog 出力の違いを確認できます。デバッグ タイムスタンプは 11:XX ですが、出力は 09:XX を示しています。私の期待は、出力にも 11:XX が表示されることでした。
NSCalendar *a = [NSCalendar currentCalendar];
[a setTimeZone:[NSTimeZone defaultTimeZone]];
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setYear:2013];
[comps setMonth:9];
[comps setDay:7];
[comps setHour:11];
[comps setMinute:5];
NSDate *referenceTime = [a dateFromComponents:comps];
NSLog(@"The time zone %@", [NSTimeZone defaultTimeZone]);
NSLog(@"The reference time %@", referenceTime);
出力
2013-09-07 11:28:17.467 otest[7145:303] The time zone Europe/Stockholm (GMT+02:00) offset 7200 (Daylight)
2013-09-07 11:28:17.468 otest[7145:303] The reference time 2013-09-07 09:05:00 +0000