NSDateをiPhoneアプリの特定の日付、時刻、タイムゾーンに設定する必要があります。
以下のサンプルコードは、iOS 4でsetTimeZoneが導入されたため、iOS 4で正常に機能します。iOS3.0デバイスで使用できるように、setTimeZoneを使用せずにNSDateを日付、時刻、タイムゾーンに簡単に設定するにはどうすればよいですか。
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setYear:2010];
[comps setMonth:8];
[comps setDay:24];
[comps setHour:17];
[comps setMinute:5];
[comps setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"] ];
NSCalendar *cal = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *referenceTime = [cal dateFromComponents:comps];
これは単純なはずですが、どういうわけかNSDate、コンポーネント、カレンダー、そして私は良い友達ではありません...