2010-07-13 6 views
1

Je joue avec les fuseaux horaires dans MySQL.Timezones dans MySQL

J'ai besoin d'affecter des personnes à des fuseaux horaires, et j'ai donc regardé mysql.time_zone_data.

Australie semble avoir 5 fuseaux horaires indépendants [1], alors pourquoi avoir mysql.time_zone_data 23 options?

Australie/ACT
Australie/Adelaide
Australie/Brisbane
Australie/Broken_Hill
Australie/Canberra
Australie/Currie
Australie/Darwin
Australie/Eucla
Australie/Hobart
Australie/LHI
Australie/Lindeman
Australie/Lord _Howe
Australie/Melbourne
Australie/NSW
Australie/Nord
Australie/Perth
Australie/Queensland
Australie/South
Australie/Sydney
Australie/Tasmanie
Australie/Victoria
Australie/Ouest
Australie/Yancowinna

[1] http://www.timetemperature.com/australia/australia_time_zones.shtml

Répondre

2

La même raison, pourquoi il y a plusieurs options dans votre système d'exploitation, ...

Pas tout le monde sait où sa ville est fuseau horaire où. Donc, il y a quelques grandes villes (qui sont dans la même zone) pour la sélection. Vous pouvez donc rechercher une ville près de votre position et sélectionner automatiquement le fuseau horaire approprié.

Par exemple: Berlin et Munich sont dans la même zone, ainsi que Canberra et Sydney

+0

Ok, c'est logique. – aidan

1

pourquoi ne mysql.time_zone_data avoir 23 options?

Habituellement parce que chacune de ces mini-régions a historiquement eu différentes règles de temps. Ils utilisent peut-être les mêmes fuseaux horaires maintenant, mais si vous voulez convertir de manière fiable un moment qui pourrait être dans le passé, vous devez savoir quel ensemble exact de règles les paramètres régionaux n'ont pas maintenant, mais pour aussi loin dans l'histoire comme les fuseaux horaires ont été légalement stables.

C'est ce qui rend les bases de données timezone si absurdement grandes. Les fuseaux horaires sont une horreur.

+0

Pour Berlin et Munich je suis sûr, qu'ils n'ont jamais été dans des fuseaux horaires différents. Mais peut-être peut-on trouver des exemples comme celui-ci aussi. – Erik

+0

FWIW Il n'y a pas de régions séparées pour Berlin et Munich dans Olson (et donc sur MySQL ou OS que j'ai ici) ou sur Windows. L'Australie est un cas plus complexe car il est beaucoup plus fragmenté.Sydney et Canberra ont toujours partagé les règles du fuseau horaire, mais il y a des parties de la Nouvelle-Galles du Sud qui ne le sont pas, il n'est donc pas possible de les combiner en un seul fuseau horaire NSW. Je suppose qu'ils sont plusieurs fuseaux horaires pour éviter d'avoir à appeler "la plupart des NSW sauf pour les exceptions étranges". – bobince