iOS 4.0 より前の NSDate オブジェクトでタイムゾーンを設定する方法を知っている人はいますか? iOS 4 以降では、次のようにします。
NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDateComponents *components = [calendar components:(NSYearCalendarUnit|NSMonthCalendarUnit|NSWeekdayCalendarUnit|NSDayCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit|NSSecondCalendarUnit|NSTimeZoneCalendarUnit) fromDate:aDate];
NSTimeZone *gmt = [NSTimeZone timeZoneForSecondsFromGMT:0];
[components setTimeZone:gmt];
NSDate *newDate = [calendar dateFromComponents:components];
問題は、setTimeZone と NSTimeZoneCalendarUnit が iOS 4.0 以降でしか利用できないことです。時間コンポーネントを減算する必要がありますか?