Définition d'un NSDate à une date, une heure et un fuseau horaire spécifiques

J'ai besoin de configurer un NSDate à une date, de l'heure et de fuseau horaire pour une Application iPhone.

L'exemple de code ci-dessous fonctionne très bien sur iOS 4 comme le setTimeZone a été introduit avec iOS 4. Comment ai-je pu facilement définir un NSDate à une date, de l'heure et du fuseau horaire, sans l'aide de setTimeZone de sorte qu'il peut être utilisé sur iOS 3.0 périphériques?

    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];

Suppose que cela devrait être simple, mais de toute façon NSDate, des composants et des calendriers, et je ne sont pas de bons amis...

source d'informationauteur Structurer | 2010-09-07