Η βάση δεδομένων ζωνών ώρας IANA (tz): Τι είναι και γιατί έχει σημασία

Δημοσιεύτηκε στις: 9:00 AM , από Ομάδα Ώρα.com

Τι είναι η βάση δεδομένων ζωνών ώρας IANA (tz/tzdata), πώς ονομάζει ζώνες όπως America/New_York, γιατί οι μετατοπίσεις δεν αρκούν και ποιος εξαρτάται από αυτήν.

Χάρτης κόσμου με όρια ζωνών ώρας και αναγνωριστικά IANA όπως America/New_York, Europe/London και Asia/Kolkata

Τι Είναι Πραγματικά η Βάση Δεδομένων Ζωνών Ώρας IANA

Αν έχετε δουλέψει ποτέ με ημερομηνίες και ώρες σε λογισμικό, έχετε βασιστεί στη Βάση Δεδομένων Ζωνών Ώρας IANA είτε το γνωρίζατε είτε όχι. Είναι γνωστή με διάφορα ονόματα — tz database, tzdata, η βάση δεδομένων Olson, ή zoneinfo — αλλά όλα αναφέρονται στο ίδιο πράγμα: έναν συνεργατικό, ελεύθερα διαθέσιμο κατάλογο των ζωνών ώρας του κόσμου και των κανόνων που τις διέπουν.

Η λέξη "κατάλογος" δεν το αποδίδει πλήρως. Η βάση δεδομένων δεν απαριθμεί απλώς ποιες περιοχές βρίσκονται σε ποια μετατόπιση UTC. Καταγράφει την πλήρη ιστορία της πολιτικής χρονομέτρησης για κάθε περιοχή — κάθε αλλαγή μετατόπισης, κάθε μετάβαση θερινής ώρας, κάθε πολεμική αλλαγή ρολογιού και κάθε προγραμματισμένο μελλοντικό κανόνα — φτάνοντας, σε πολλές περιπτώσεις, έως τα μέσα του 19ου αιώνα, όταν η τοπική μέση ώρα έδωσε τη θέση της σε τυποποιημένες ζώνες. Όταν η εφαρμογή ημερολογίου σας δείχνει σωστά ότι μια συνάντηση το 1985 έγινε μία ώρα νωρίτερα από την ίδια ώρα ρολογιού σήμερα, αυτό οφείλεται στη βάση δεδομένων tz.

Είναι βασισμένη σε κείμενο, αναγνώσιμη από τον άνθρωπο και μικρή. Η μεταγλωττισμένη δυαδική μορφή που υπάρχει στον υπολογιστή σας είναι μόνο λίγα megabytes. Ωστόσο, κωδικοποιεί ένα από τα πιο ήσυχα περίπλοκα σύνολα δεδομένων στην πληροφορική.

Μια Σύντομη Ιστορία

Το έργο ξεκίνησε τη δεκαετία του 1980 υπό τον Arthur David Olson, ο οποίος συγκέντρωσε την πρώτη έκδοση και τη φιλοξένησε σε διακομιστές των Εθνικών Ινστιτούτων Υγείας των ΗΠΑ. Για δεκαετίες συντηρούνταν κυρίως μέσω εθελοντικής προσπάθειας συντονισμένης μέσω μιας δημόσιας λίστας αλληλογραφίας, γι' αυτό το παλαιότερο όνομα "βάση δεδομένων Olson" εμφανίζεται ακόμα στην τεκμηρίωση.

Ο Paul Eggert ανέλαβε ως κύριος συντάκτης και παραμένει ο μακροχρόνιος συντονιστής του έργου. Η συλλογή του συνοδευτικού εγγράφου theory.html και η σχολαστική ιστορία των καταχωρήσεων έχουν κάνει τη βάση δεδομένων τόσο ιστορική αναφορά όσο και τεχνική.

Το 2011, μετά από μια σύντομη αλλά ανησυχητική νομική διαμάχη σχετικά με τα ιστορικά δεδομένα, η διαχείριση μεταφέρθηκε στην Internet Assigned Numbers Authority (IANA), τον ίδιο φορέα που συντονίζει άλλους βασικούς πόρους του Διαδικτύου. Η IANA δημοσιεύει πλέον επίσημες εκδόσεις, γι' αυτό το "IANA time zone database" έχει γίνει το καθιερωμένο όνομα. Η εργασία εξακολουθεί να γίνεται από την ίδια κοινότητα συνεισφερόντων· η IANA παρέχει ένα θεσμικό σπίτι και ένα σταθερό σημείο διανομής.

Η Σύμβαση Ονομασίας: Περιοχή/Τοποθεσία

Ένα από τα πιο χαρακτηριστικά γνωρίσματα της βάσης δεδομένων είναι ο τρόπος ονομασίας των ζωνών. Αντί για ονόματα χωρών ή απλές μετατοπίσεις, χρησιμοποιεί μια μορφή Περιοχή/Τοποθεσία, σχεδόν πάντα αγκυροβολημένη σε μια αντιπροσωπευτική πόλη:

  • America/New_York
  • Europe/London
  • Asia/Kolkata
  • Australia/Sydney

Η "Περιοχή" είναι συνήθως μια ήπειρος ή ωκεανός (America, Europe, Asia, Pacific), και η "Τοποθεσία" είναι μια γνωστή πόλη εντός της ζώνης. Αυτή η επιλογή φαίνεται ιδιότροπη μέχρι να κατανοήσετε τη λογική πίσω από αυτήν.

Οι πόλεις είναι σταθερές· τα πολιτικά σύνορα και οι μετατοπίσεις δεν είναι. Οι χώρες χωρίζονται, συγχωνεύονται, μετονομάζονται και αλλάζουν τα ρολόγια τους. Μια πόλη, αντιθέτως, είναι ένα σταθερό γεωγραφικό σημείο με συνεχή ιστορία χρονομέτρησης. Η ονομασία μιας ζώνης America/New_York αντί για "US Eastern Time" ή "UTC-5" σημαίνει ότι το αναγνωριστικό παραμένει έγκυρο ακόμα και όταν οι κανόνες που συνδέονται με αυτήν εξελίσσονται.

Η βάση δεδομένων επίσης αποφεύγει σκόπιμα τα ονόματα χωρών για να αποφύγει πολιτικές διαμάχες και επειδή μια ενιαία χώρα συχνά περιέχει πολλές ζώνες — οι Ηνωμένες Πολιτείες έχουν περισσότερες από δώδεκα. Επιλέγει την πιο πολυπληθή ή ιστορικά σημαντική πόλη σε κάθε διακριτή ζώνη ως ουδέτερη ετικέτα. Όταν δύο περιοχές έχουν κοινή πανομοιότυπη ιστορία ρολογιού από το 1970, μοιράζονται μία ζώνη· τη στιγμή που οι ιστορίες τους αποκλίνουν, λαμβάνουν ξεχωριστές καταχωρήσεις.

Γιατί οι Απλές Μετατοπίσεις Δεν Είναι Αρκετές

Ένα κοινό αρχάριο ένστικτο είναι να αποθηκεύσετε μια ώρα ως "UTC+5:30" και να τελειώνετε. Αυτό λειτουργεί για μια μεμονωμένη στιγμή, αλλά καταρρέει τη στιγμή που χρειάζεται να συλλογιστείτε μελλοντικά ή επαναλαμβανόμενα γεγονότα, επειδή οι μετατοπίσεις δεν είναι στατικές ιδιότητες ενός τόπου. Είναι η έξοδος κανόνων που οι κυβερνήσεις αλλάζουν συνεχώς και συχνά απότομα.

Εξετάστε μερικά πραγματικά παραδείγματα που η βάση δεδομένων έπρεπε να απορροφήσει:

  • Η Σαμόα παρέλειψε εντελώς τις 30 Δεκεμβρίου 2011. Για να ευθυγραμμίσει την εργάσιμη ημέρα της με την Αυστραλία και τη Νέα Ζηλανδία αντί για τις Ηνωμένες Πολιτείες, η Σαμόα πήδηξε πέρα από τη Διεθνή Γραμμή Ημερομηνίας, μετακινούμενη από UTC-11 σε UTC+13. Για οποιονδήποτε στα νησιά, εκείνη η Παρασκευή απλά δεν υπήρξε.
  • Οι χώρες καταργούν, υιοθετούν ή αναπρογραμματίζουν τη θερινή ώρα με λίγη προειδοποίηση. Η Ευρωπαϊκή Ένωση έχει συζητήσει την κατάργηση της θερινής ώρας· αρκετές χώρες και πολιτείες των ΗΠΑ έχουν αλλάξει τους κανόνες θερινής ώρας τις τελευταίες δεκαετίες. Η Τουρκία, η Ρωσία και άλλες έχουν μετατοπίσει εντελώς τις τυπικές μετατοπίσεις τους.
  • Οι ημερομηνίες έναρξης και λήξης της θερινής ώρας μετατοπίζονται. Οι Ηνωμένες Πολιτείες μετακίνησαν τα όρια της θερινής ώρας το 2007. Οποιοδήποτε σύστημα είχε κωδικοποιήσει τον παλιό κανόνα παρήγαγε σιωπηλά λάθος ώρες για εβδομάδες κάθε χρόνο.

Αν αποθηκεύσετε μόνο μια μετατόπιση, δεν μπορείτε να απαντήσετε στην ερώτηση "ποια θα είναι η τοπική ώρα στο Σαντιάγο στις 15 Νοεμβρίου του επόμενου έτους;" — επειδή η απάντηση εξαρτάται από κανόνες που μπορεί να μην έχουν καν οριστικοποιηθεί ακόμα. Η αποθήκευση του αναγνωριστικού ζώνης (America/Santiago) μαζί με τη βάση δεδομένων επιτρέπει στο λογισμικό να υπολογίσει τη σωστή μετατόπιση για οποιαδήποτε στιγμή, παρελθούσα ή μελλοντική, και να την υπολογίσει ξανά αυτόματα όταν αλλάξουν οι κανόνες.

Αυτή είναι η βασική πρόταση αξίας: η βάση δεδομένων tz διαχωρίζει την ταυτότητα ενός τόπου από τους συνεχώς μεταβαλλόμενους κανόνες που καθορίζουν το ρολόι του.

Πώς Συντηρείται

Η συντήρηση γίνεται δημόσια. Οι προτεινόμενες αλλαγές — ένας νέος κανόνας θερινής ώρας, μια διορθωμένη ιστορική ημερομηνία, μια κυβερνητική ανακοίνωση — συζητούνται στη δημόσια λίστα αλληλογραφίας tz, όπου οι συνεισφέροντες παραθέτουν επίσημες εφημερίδες, ειδησεογραφικές αναφορές και κυβερνητικά διατάγματα ως αποδεικτικά στοιχεία. Η ακρίβεια λαμβάνεται σοβαρά υπόψη· οι αλλαγές στα ιστορικά δεδομένα ειδικότερα εξετάζονται έναντι πρωτογενών πηγών.

Οι εκδόσεις ονομάζονται με ένα έτος και ένα γράμμα: 2024a, 2024b, 2024c και ούτω καθεξής. Ο αριθμός είναι το έτος· το γράμμα αυξάνεται με κάθε έκδοση εκείνου του έτους. Επειδή οι κυβερνήσεις ανακοινώνουν αλλαγές ρολογιού με τα δικά τους απρόβλεπτα χρονοδιαγράμματα, δεν υπάρχει σταθερός ρυθμός έκδοσης — μια ήσυχη χρονιά μπορεί να έχει δύο εκδόσεις, ενώ μια χρονιά πολιτικής αναταραχής μπορεί να έχει πολλές. Τα συστήματα αναμένεται να ενημερώνονται άμεσα, καθώς μια ξεπερασμένη βάση δεδομένων μπορεί να σημαίνει εμφάνιση λάθος ώρας μετά την έναρξη ισχύος μιας αλλαγής κανόνα.

Ποιος Εξαρτάται Από Αυτήν

Σχεδόν τα πάντα.

  • Λειτουργικά συστήματα. Οι διανομές Linux διανέμουν το tzdata ως βασικό πακέτο. Το macOS αντλεί τα δεδομένα ζώνης του από την ίδια πηγή. Τα Windows χρησιμοποιούν τις δικές τους ζώνες βασισμένες στο μητρώο για κληρονομικούς λόγους, αλλά εκθέτουν ζώνες IANA μέσω της βιβλιοθήκης ICU και σύγχρονων API.
  • Γλώσσες προγραμματισμού. Ουσιαστικά κάθε ώριμη βιβλιοθήκη ημερομηνίας/ώρας διαβάζει ή ενσωματώνει τη βάση δεδομένων tz: το zoneinfo της Python, το java.time της Java, το έργο ICU, η PostgreSQL, οι μηχανές JavaScript μέσω ICU, η Ruby, η PHP και πολλές άλλες.
  • Εφαρμογές. Ημερολόγια, συστήματα κρατήσεων, πλατφόρμες χρηματοοικονομικών συναλλαγών, εργαλεία ανάλυσης καταγραφών και υπηρεσίες προγραμματισμού βασίζονται σε αυτήν, συνήθως χωρίς οι προγραμματιστές τους να το σκέφτονται.

Αυτή η πανταχού παρουσία είναι ακριβώς ο λόγος που η βάση δεδομένων έχει τόση σημασία. Μια ενιαία, κοινή, προσεκτικά συντηρημένη πηγή αλήθειας σημαίνει ότι μια συνάντηση που προγραμματίζεται σε ένα σύστημα εμφανίζεται σωστά σε ένα άλλο, σε όλα τα λειτουργικά συστήματα και γλώσσες, δεκαετίες στο παρελθόν ή το μέλλον.

Αν θέλετε να εξερευνήσετε τις ίδιες τις ζώνες, περιηγηθείτε στην πλήρη λίστα των IANA time zones ή δείτε πώς αντιστοιχίζονται σε όλο τον κόσμο στον κατάλογό μας με all time zones.

Συχνές Ερωτήσεις

Είναι η βάση δεδομένων tz το ίδιο με τα tzdata, zoneinfo και τη βάση δεδομένων Olson;

Ναι. Αυτά είναι όλα ονόματα για το ίδιο έργο. "tzdata" συνήθως αναφέρεται στα αρχεία δεδομένων όπως είναι συσκευασμένα για ένα λειτουργικό σύστημα, "zoneinfo" στον μεταγλωττισμένο δυαδικό κατάλογο και "βάση δεδομένων Olson" είναι το παλαιότερο ιστορικό όνομα από τον ιδρυτή Arthur David Olson. Σήμερα το επίσημο όνομα είναι η Βάση Δεδομένων Ζωνών Ώρας IANA.

Πόσο συχνά ενημερώνεται η βάση δεδομένων;

Δεν υπάρχει σταθερό πρόγραμμα. Οι εκδόσεις πυροδοτούνται από γεγονότα του πραγματικού κόσμου — μια κυβέρνηση που αλλάζει τους κανόνες θερινής ώρας ή την τυπική μετατόπιση, ή μια διόρθωση σε ιστορικά δεδομένα. Κάποια χρόνια έχουν μία μόνο έκδοση· άλλα έχουν πολλές. Κάθε μία ονομάζεται όπως 2024a, 2024b, αυξάνοντας το γράμμα κατά τη διάρκεια του έτους.

Γιατί ονομάζει ζώνες μετά από πόλεις όπως America/New_York;

Οι πόλεις είναι γεωγραφικά σταθερές και έχουν συνεχείς ιστορίες χρονομέτρησης, ενώ οι χώρες, τα σύνορα και οι μετατοπίσεις αλλάζουν με την πάροδο του χρόνου. Η χρήση μιας αντιπροσωπευτικής πόλης δίνει σε κάθε ζώνη ένα σταθερό, πολιτικά ουδέτερο αναγνωριστικό που παραμένει έγκυρο ακόμα και όταν αλλάζουν οι υποκείμενοι κανόνες θερινής ώρας ή μετατόπισης.

Μπορώ απλά να αποθηκεύσω μια μετατόπιση UTC αντί για ένα όνομα ζώνης;

Μόνο για μια μεμονωμένη σταθερή στιγμή. Για μελλοντικά ή επαναλαμβανόμενα γεγονότα θα πρέπει να αποθηκεύσετε το αναγνωριστικό ζώνης, επειδή οι μετατοπίσεις αλλάζουν με τη θερινή ώρα και τις κυβερνητικές αποφάσεις. Το όνομα ζώνης μαζί με τη βάση δεδομένων επιτρέπει στο λογισμικό να υπολογίζει αυτόματα τη σωστή μετατόπιση για οποιαδήποτε ημερομηνία.

Ποιος διευθύνει το έργο τώρα;

Δημοσιεύεται από την IANA, η οποία ανέλαβε τη διαχείριση το 2011, και συντονίζεται από τον Paul Eggert με μια κοινότητα συνεισφερόντων που εργάζονται μέσω της δημόσιας λίστας αλληλογραφίας tz. Η τεχνική εργασία παραμένει μια συνεργατική, εθελοντική προσπάθεια.

Τώρα η ώρα στο αυτές οι πόλεις:

Άμστερνταμ · Αθήνα · Μπανγκόκ · Βαρκελώνη · Πεκίνο · Βερολίνο · Μπουένος Άιρες · Κάιρο · Κοπεγχάγη · Δελχί · Ντουμπάι · Ιστανμπούλ · Johannesburg · Καράτσι · Λιουμπλιάνα · Λονδίνο · Λος Άντζελες · Μαδρίτη · Μανίλα · Πόλη του Μεξικού · Μόσχα · Μουμπάι · Νέα Υόρκη · Παρίσι · Ρέικιαβικ · Ρίγα · Ρώμη · Σεούλ · Σαγκάη · Σίδνεϊ · Τόκιο · Βίλνιους · Ζάγκρεμπ

Τώρα στην χώρα:

🇦🇷 Αργεντινή | 🇦🇺 Αυστραλία | 🇧🇷 Βραζιλία | 🇨🇦 Καναδάς | 🇨🇳 Κίνα | 🇭🇷 Κροατία | 🇪🇬 Αίγυπτος | 🇫🇷 Γαλλία | 🇩🇪 Γερμανία | 🇬🇷 Ελλάδα | 🇮🇸 Ισλανδία | 🇮🇳 Ινδία | 🇮🇩 Ινδονησία | 🇮🇷 Ιράν | 🇮🇹 Ιταλία | 🇯🇵 Ιαπωνία | 🇱🇻 Λετονία | 🇱🇹 Λιθουανία | 🇲🇽 Μεξικό | 🇳🇱 Ολλανδία | 🇳🇬 Νιγηρία | 🇵🇰 Πακιστάν | 🇵🇭 Φιλιππίνες | 🇷🇺 Ρωσία | 🇸🇦 Σαουδική Αραβία | 🇸🇮 Σλοβενία | 🇿🇦 Νότια Αφρική | 🇰🇷 Νότια Κορέα | 🇪🇸 Ισπανία | 🇸🇪 Σουηδία | 🇨🇭 Ελβετία | 🇹🇭 Ταϊλάνδη | 🇬🇧 Ηνωμένο Βασίλειο | 🇻🇳 Βιετνάμ |

Τώρα στην ζώνες ώρας:

UTC | GMT | CET | PST | MST | CST | EST | EET | IST | JST | AEST | SAST | MSK | NZST

Δωρεάν widgets για διαχειριστές ιστοσελίδων:

Δωρεάν Αναλογικό Widget Ρολόι | Δωρεάν Ψηφιακό Ρολόι Widget | Δωρεάν Widget Κειμένου Ρολόι | Δωρεάν Widget Λέξεων Ρολόι