Time database

From annawiki

Mailing list

Desired features

Topic Time keeping database (tkdb) IANA time zone database (tzdb)
Terminology Exactly one term for one kind of object
  • Terms are used interchangeably (region = zone)
  • Terms are used ambiguously (zone for IANA zones and real world zones)
Geography - Sector Smallest territorial unit is named "sector" Smallest territorial unit is named "zone"
Geography - Sector For any point in time, except for war time, the legal time in all territory of a sector is the same. For any point in time after 1970-01-01T00:00:00 clocks in a IANA zone have agreed.
Geography - Sector The sectors cover the whole surface of the earth Some areas are not covered, e.g. no IANA zone exists the ISO 3166 country "Bouvet Island"
Geography - Sector Each sector has exactly one SectorID. Some zones have multiple IDs via links. These links can
  • represent former IDs of the zone due to spelling change for the reference location
  • represent former IDs of the zone due to reference location change (Tel Aviv -> Jerusalem)
  • represent IDs of former zones (Vaduz links to Zurich)
Geography - Sector A SectorID only contains alphanumeric characters, letters upper case. REGEX: /[3-8][A-Z0-9]{1,}/ (Note: further restriction likely) A zone ID contains ASCII letters and / and can contain -._
Geography - Sector New sectors are created only by splitting and deprecating old sectors, so a user can know if an assignment of an ID to an object needs a check for correctness.

After a split one zone retains the ID of the old zone. That means:

  • a user can link an object to a tzid, but get's no notification if later the object is located in a zone that has been split off.
Geography - Sector Relations between deprecated sectors and the sectors that have been created out of them are published. No split history is explicitly published.
Geography - Country ISO 3166-1 alpha-3 codes for countries. ISO 3166-1 alpha-2 codes for countries. Some of the codes have been re-assigned, e.g. CS can refer to Czechoslovakia or Serbia and Montenegro.
Geography - Country Support for former countries at least back to 1946-01-01, the first full year where the UN existed. No support for former countries. No way to get data for ISO 3166 alpha-2 code DD (East Germany)
Geography - Country At any point in time (at least after 1946-01-01) the land surface is associated to a country. Some areas are not associated to a country, e.g. the land of the ISO 3166 country "Bouvet Island" is not associated to any country.
Geography At any point in time a sector is located in only one country. Zones can be located in different former countries, e.g. Europe/Berlin is located in East Germany (DD) and West Germany (DE) prior to 1990.
Geography Publish relations between sectors and IANA zones at least for some IANA releases.
Other Record all legal time
  • no time for Bouvet Island, while Norwegian government has defined it,
  • limited support for pre-1970 data
Other For any point in time, for any country, a time zone acronym used for a sector that is located in that country refers to exactly one offset from a base time. For some points in time during DST observance in Australia, the acronyms EST and CST for time records in Australia can refer to different offsets from UTC, depending on whether a zone observes DST or not. That means for a given point in time during summer the offset from UTC and therefore UTC itself cannot be derived from the local time representation.
Data format Publication in
  • SQL (?)
  • as xCal/iCal (?)
  • IANA specific format, as far as that format supports the features of the tkdb.
Publication in IANA specific format.

Tables

District

All land surface belongs to exactly one district. They allow grouping of sectors by larger geographic regions. Not used:

  • 0 - to avoid misreadings as O
  • 1 and 2 - to avoid that a 4-digit SectorID could look like a year
DistrictID DistrictName Description
3 Antarctica
4 Africa
5 America
6 Oceania
7 Europe including Soviet Union territory, including Cyprus, Malta, excluding Turkey
8 Asia

Country

A country is a political entity. The concept is based on the concept of country in ISO 3166-1.

Sector

A sector

  • is located in exactly one district
  • has exactly one SectorID
  • is not divided by country boundaries since 1946-01-01T00:00:00.

A SectorID:

  • conforms to the REGEX: /[3-8][A-Z0-9]{1,}/ (Note: further restriction likely)
  • has the DistrictID as the first character
  • contains no reference to a country (IANA zone sometimes to, e.g. those for Argentina)

There should be a Private Use Area in the SectorID space, to allow people that like to do different sectorization to create non-clashing SectorIDs.