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
Vous devez vous connecter pour publier un commentaire.
Je me demande si vous pouvez définir le fuseau horaire sur le
NSCalendar
objet que vous utilisez pour créer leNSDate
de laNSDateComponents
. Je n'ai pas essayé et ne sais pas si ça va marcher, mais c'est probablement la peine d'essayer.NDates ont pas la notion du temps des zones dans et d'eux-mêmes. Ils sont fondamentalement secondes depuis une certaine date arbitraire à l'heure GMT. En tant que tel, vous ne pouvez pas leur donner un fuseau horaire. Si le fuseau horaire est important, vous aurez besoin de suivre à la fois l'heure et le fuseau horaire.