任何人都知道如何在 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 开始可用。我需要对小时数部分进行减法吗?