2009-11-02 3 views
0

Je crée une application. J'exécute un compte à rebours et gagne du temps dans une base de données en convertissant le temps en une valeur à virgule flottante (double). Supposons que je commence le chronomètre à 14 heures et que je mette le compte à rebours pendant 3 heures. Après 1 heure, je quitte l'application et lors de la relance, je récupère le temps stocké dans la base de données. Comptez la différence entre l'heure stockée et l'heure actuelle. Je restaure la minuterie en fonction de cela, mais que se passe-t-il si je quitte l'application et change le fuseau horaire pour autre chose?Comment convertir chaque fuseau horaire en GMT +5,30?

Comment est-ce que je gère ceci ou comment est-ce que je fixe un fuseau horaire spécifique de sorte que même l'utilisateur change le fuseau horaire le temporisateur fonctionne toujours parfait?

Répondre

4

Je ne connais pas le SDK iPhone, mais la façon traditionnelle de le faire serait de trouver l'heure en UTC - souvent exprimée en termes de millisecondes depuis le 1er janvier 1970 ou quelque chose de similaire.

De cette façon, le fuseau horaire de l'appareil est sans importance.

EDIT: En regardant les documents pour NSDate, je pense que timeIntervalSince1970 est ce que vous voulez. Cela devrait toujours être en termes d'UTC.

Questions connexes