4 votes

D'où vient la liste des fuseaux horaires de la fonction Date & Heure de l'iPhone ?

Je peux obtenir une liste de fuseaux horaires avec [NSTimeZone knownTimeZoneNames] mais cela ne donne que les identifiants des fuseaux horaires qui comprennent une ou deux villes dans chaque fuseau horaire.

Les réglages de la date et de l'heure proposent une liste de villes intéressante et j'ai vu quelques autres applications qui proposent des listes de recherche identiques, voire similaires.

D'où viennent ces listes ?

J'ai besoin de relier une ville choisie à son fuseau horaire comme le fait Date & Time.

7voto

KennyTM Points 232647

Seulement 2 ? Sur 3.1, le [NSTimeZone knownTimeZoneNames] renvoie un tableau de 401 éléments, et il y a beaucoup moins de 200 fuseaux horaires sur la Terre.

Je suis presque sûr que les "autres applications" utilisent +knownTimeZoneNames puisque c'est la seule méthode publique qui renvoie une telle liste. Veillez cependant à ce que votre code soit correct.


Settings.app utilise l'option privé CPCity de l'API privé AppSupport.framework. Il y a bien San Francisco, mais c'est un site privé.

Vous devez créer votre propre base de données (les données peuvent être copiées à partir de /System/Library/PrivateFrameworks/AppSupport.framework/all_cities_adj.plist ).

2voto

Massimo Cafaro Points 18759

Ce que vous demandez est communément appelé la base de données Olson. Voir par exemple cette page Wikipedia . Le domaine public Zone.tab contient tous les fuseaux horaires. Vous trouverez un fichier zones.tab dans le répertoire zoneinfo de l'application libéral distribution.

1voto

Gix Points 1085

Je sais que c'est peut-être une réponse tardive, mais juste au cas où quelqu'un d'autre tomberait dessus comme je l'ai fait l'autre jour. Je viens d'ouvrir une bibliothèque qui fait exactement cela. Elle est disponible sous forme de CocoaPod et vous pouvez la trouver ici :

https://github.com/gligorkot/TimeZonePicker

Merci également pour toutes les réponses ci-dessus, elles m'ont aidé à trouver la bonne base de données de villes qui est utilisée pour l'application Settings.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X