TimZone dans NSCalendarDate
macvelotte
Membre
Problème lié au changement d'heure ...
Le MAC sait se mettre à l'heure d'été.
Dans une série de calculs faits avec l'heure U.T.C (ex GMT), je dois donc corriger de - 2 heures l'heure fournie par NSCalendarDate.
Si je définis une NSString *decal :
decal=[cejour descriptionWithCalendarFormat:@%z];
l'introduction d'une condition par
if (decal==@+0200) n'est pas reconnue ???
Le MAC sait se mettre à l'heure d'été.
Dans une série de calculs faits avec l'heure U.T.C (ex GMT), je dois donc corriger de - 2 heures l'heure fournie par NSCalendarDate.
Si je définis une NSString *decal :
decal=[cejour descriptionWithCalendarFormat:@%z];
l'introduction d'une condition par
if (decal==@+0200) n'est pas reconnue ???
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Sans entrer trop dans la gestion des NSTimeZone je me demande tout de même pourquoi tu cherches à utiliser une constante comme @+0200 alors que tu précise bien qu'avec le changement d'heure été/hivers cet écart se modifie? C'est justement pour savoir si c'est heure d'été ou hiver ?
Sinon essaies plutot
if ([decimal isEqualToString @+0200] )
Je fais des calculs "astronomiques" qui nécessitent d'utiliser le temps Universel : il faut bien que je passe du temps "légal" lu par NSCalendarDate au T.U en retranchant 2 ou 1 heure selon qu'on est en heure d'été ou heure d'hiver ; le seul moyen est bien d'utiliser timeZone ??
Pour calculer la date de la prochaine phase de la lune, par exemple, les fonctions de NSCalendar sont tout à fait pertinentes.