Basis Data Zona Waktu

Basis Data Zona Waktu, disebut juga tz database, tzdata, zoneinfo database, atau Basis Data Zona Waktu IANA, adalah kumpulan informasi zona waktu dunia yang bersifat kolaboratif dan cenderung ditujukan untuk program komputer dan sistem operasi. Basis data ini kadang disebut basis data Olson sesuai nama kontributor pendirinya, Arthur David Olson. Paul Eggert  merupakan editor dan pengelola basis data ini.

Fiturnya yang paling mudah dikenali adalah konvensi penamaan yang seragam untuk zona waktu, misalnya  dan  (lihat Daftar zona waktu di Basis Data Zona Waktu). Konvensi tersebut dirancang oleh Paul Eggert. Basis data ini berusaha mencatat zona waktu historis dan semua perubahan sipil sejak 1970, kala waktu Unix. Basis Data Zona Waktu juga mencakup peralihan waktu seperti waktu musim panas dan bahkan mencatat detik kabisat.

 Struktur data 
 Format berkas 
Basis Data Zona Waktu diterbitkan sebagai susunan berkas teks yang berisi daftar peraturan dan peralihan zona dalam format yang dapat dibaca manusia. Untuk menggunakannya, berkas teks ini dikompilasi menjadi setumpuk berkas biner bebas platform—satu untuk setiap zona waktu. Kode sumber referensinya mengandung kompilator bernama zic (kompilator informasi zona), serta kode untuk membaca berkas-berkas tersebut dan menggunakannya dalam API seperti localtime() dan mktime().

 Definisi zona waktu 
Di basis data ini, sebuah zona waktu adalah wilayah nasional manapun yang jam lokalnya sudah disepakati bersama-sama sejak 1970.Theory (text file), contained in the "tzcode" distribution. Version tzcode2007h.tar.gz 2007-10-01 referenced. Definisi ini mempertimbangkan wilayah geografis yang jam lokalnya konsisten. Ini berbeda dengan definisi lain yang mempertimbangkan perbedaan waktu konsisten dari meridian utama. Maka dari itu, setiap zona waktu yang didefinisikan oleh Basis Data Zona Waktu bisa mengandung beberapa perbedaan waktu UTC, biasanya menyertakan waktu standar dan waktu musim panas.

Di berkas teks zona waktu, setiap zona waktu memiliki satu "garis zona" atau lebih di salah satu berkas teks zona waktunya. Garis zona pertama untuk suatu zona waktu berisi nama zona; garis zona selanjutnya di zona waktu tersebut mengosongkan namanya, sehingga zona ini tergolong dalam zona yang sama seperti garis sebelumnya. Untuk serangkaian tanggal dan waktu, masing-masing garis zona untuk suatu zona menerangkan perubahan waktu UTC untuk waktu standar, nama susunan peraturan yang mengatur waktu musim panas (atau tanda hubung jika waktu standar selalu diterapkan), format singkatan zona waktu, dan tanggal dan waktu tempat rangkaian tanggal dan waktu yang diatur oleh garis tersebut berakhir (berlaku untuk semua kecuali garis zona terakhir).

 Nama zona waktu 
Zona waktu memiliki nama unik dengan format "Wilayah/Lokasi", e.g. "America/New_York", agar bisa dipahami orang biasa. Disepakati pula penggunaan nama berbahasa Inggris atau transliterasi yang setara, serta penghapusan tanda baca dan akhiran kata. Karakter garis bawah dipakai untuk menggantikan spasi. Tanda hubung digunakan ketika namanya tampil di nama suatu lokasi.

 Wilayah 
Wilayah adalah nama benua, samudra, atau "Etc". Benua dan samudra tersebut  mencakup: Afrika, Amerika, Antarktika, Arktik, Asia, Atlantik, Australia, Eropa, Hindia, dan Pasifik.

Wilayah khusus "Etc" dipakai untuk beberapa zona administratif, terutama untuk "Etc/UTC" yang mewakili Coordinated Universal Time. Untuk menyesuaikan dengan gaya POSIX, zona-zona waktu yang berawalan "Etc/GMT" akan dibalikkan tandanya. Dengan gaya ini, zona di sebelah barat GMT diberi tanda positif dan zona di timur diberi tanda negatif di namanya (e.g "Etc/GMT-14" lebih cepat/timur 14 jam dari GMT.)

 Lokasi 
Lokasi adalah nama lokasi tertentu di dalam wilayah – biasanya kota atau pulau kecil.

Kadang-kadang, Lokasi itu sendiri dijadikan nama himpunan, misalnya zona waktu "America/Indiana/Indianapolis". Nama-nama yang bertingkat tiga  adalah "America/Argentina/...", "America/Kentucky/...", "America/Indiana/...", and "America/North_Dakota/...".

Lokasi yang dipilih adalah perwakilan untuk seluruh wilayah.

Pada tanggal 1 Mei 2010, Arthur David Olson menetapkan batasan 14 karakter supaya bisa menghapus "de" di nama Bahia de Banderas dan mencantumkan "Bahia_Banderas" untuk nama pengenal America/Bahia Banderas.

 Contoh 
 America/Costa Rica  Nama negara digunakan karena nama kota terbesar (dan ibu kota) San José bersifat ambigu America/New York  Spasi digantikan oleh garis bawah Asia/Kolkata  Nama kota Kolkata digunakan karena Kolkata adalah kota terpadat di zona itu ketika zona tersebut ditetapkan, meski saat ini sudah bukan yang terpadat Asia/Sakhalin  Nama pulau digunakan karena kota terbesar di sana, Yuzhno-Sakhalinsk, mengandung lebih dari 14 karakter America/Bahia Banderas  Nama kota terbesar diubah, "de" dilenyapkan dari Bahia de Banderas, karena nama yang asli mengandung lebih dari 14 karakter Antarctica/DumontDUrville  Apostrof dihapus. Penghapusan spasi tidak mematuhi aturan yang mewajibkan penggantian dengan "_", karena dengan "_" namanya akan mengandung lebih dari 14 karakter

 Zone.tab 
Berkas zone.tab berada di bawah domain umum dan berisi daftar zona. Penyortiran kolom dan baris dijelaskan di keterangan berkas seperti ini:
 # This file contains a table with the following columns:
 # 1.  ISO 3166 2-character country code.  See the file `iso3166.tab'.
 # 2.  Latitude and longitude of the zone's principal location
 #     in ISO 6709 sign-degrees-minutes-seconds format,
 #     either +-DDMM+-DDDMM or +-DDMMSS+-DDDMMSS,
 #     first latitude (+ is north), then longitude (+ is east).
 # 3.  Zone name used in value of TZ environment variable.
 # 4.  Comments; present if and only if the country has multiple rows.
 #
 # Columns are separated by a single tab.
 # The table is sorted first by country, then an order within the country that
 # (1) makes some geographical sense, and
 # (2) puts the most populous zones first, where that does not contradict (1).

 Data sebelum 1970 
Data sebelum 1970 dianggap cocok untuk kota yang mengidentifikasi suatu wilayah, tetapi tidak harus cocok untuk seluruh wilayah. Hal ini dikarenakan wilayah-wilayah baru dibuat hanya untuk membedakan jam sejak tahun 1970.

Misalnya, antara 1963-10-23 dan 1963-12-09 di Brasil, hanya negara bagian Minas Gerais, Espirito Santo, Rio de Janeiro, dan São Paulo yang menerapkan waktu musim panas. Akan tetapi, permintaan pemisahan dari America/Sao Paulo ditolak pada tahun 2010 dengan alasan bahwa sejak 1970 jam sudah diseragamkan untuk seluruh wilayah ini.

Waktu di Jerman, yang diwakili oleh Europe/Berlin, tidak cocok untuk tahun 1945 ketika Trizone menggunakan aturan waktu musim panas yang berbeda dengan Berlin.

 Cakupan 

 Zona yang mencakup beberapa negara pasca-1970 
Ada dua zona yang mencakup wilayah yang diduduki dua negara setelah 1970. Basis data ini mengikuti definisi negara per ISO 3166-1 yang pendahulunya, ISO 3166, pertama kali diterbitkan tahun 1974.
 Asia/Aden – dua negara sampai 1990: Yaman Utara (Aden, People's Republic, ISO 3166-1: YE) and Yaman Selatan (Sanaa, ISO 3166-1: YD, ISO 3166-3: YDYE).
 Europe/Berlin – dua negara sampai 1990: Jerman Timur (ISO 3166-1: DD, ISO 3166-3: DDDE) dan Jerman Barat (ISO 3166-1: DE)

 Lihat pula 
 Daftar zona waktu di Basis Data Zona Waktu
 Zona waktu
 Waktu musim panas

 Referensi 

 Pranala luar 
 Umum 
 ITU LEGAL TIME 2013
 Halaman utama basis data tz (usang, lihat sumber resmi IANA di bawah)
 Arsip milis tz 
 "tz mailing list"; archives of these messages are available at ftp://elsie.nci.nih.gov/pub/tzarchive.gz.
 tz mailing list at ICANN
 “A literary appreciation of the Olson/Zoneinfo/tz database” oleh Jon Udell

 Sumber resmi IANA 
 Halaman utama
 FTP
 rsync://rsync.iana.org/tz

 Halaman man 
  (berisi sintaks berkas sumber Basis Data Zona Waktu)
  (berisi format kompilasi berkas Basis Data Zona Waktu)