[tz] Please include Montreal
Phake Nick
c933103 at gmail.com
Tue Nov 14 03:28:53 UTC 2017
There are github.com/evansiroky/timezone-boundary-builder that do this.
Responding to topic discussed earlier on the list, I believe most of those
large software publisher deviate from the official tz database in some
ways. Most of those software and system available on the market put
Asia/Urumqi on +8 while tzdb have it +6.
2017年11月14日 07:28 於 "Guy Harris" <guy at alum.mit.edu> 寫道:
> On Nov 13, 2017, at 2:57 PM, Robert Elz <kre at munnari.OZ.AU> wrote:
>
> > Date: Mon, 13 Nov 2017 12:12:51 -0800
> > From: Guy Harris <guy at alum.mit.edu>
> > Message-ID: <1331A59A-26DB-4D0B-8BC2-07448C5F1874 at alum.mit.edu>
> >
> > | If your UI is expected to be used by people who *aren't* familiar
> > | with tzdb names, it should not use tzdb names, whether it's a GUI
> > | interface or not.
> >
> > The standard way to find out the time in some specified location
> > is
> >
> > TZ=something date [+%...]
> >
> > (in scripts, or on the command line).
> >
> > If the "something" is not to be a tzdb name, what do you suggest using ?
>
> I suggest having command that takes a location and prints out the tzdb
> name for the location:
>
> TZ=`tzid San Francisco` date
>
> or something such as that. "America/Los_Angeles" isn't a location, it's a
> tzid. "Los Angeles", "San Francisco", "Pinole", etc. are locations.
>
> For example, Apple appears to have an SQLite database /System/Library/
> PrivateFrameworks/GeoKit.framework/Resources/world.geokit:
>
> sqlite> .tables
> ZGEOKITPLACE ZGEOPLACENAME Z_METADATA Z_MODELCACHE Z_PRIMARYKEY
> sqlite> .schema
> CREATE TABLE ZGEOKITPLACE ( Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT
> INTEGER, ZEMBARGO INTEGER, ZGEONAMEID INTEGER, ZPOPULATION INTEGER,
> ZELEVATION INTEGER, ZISCAPITAL INTEGER, ZCOUNTRY INTEGER, ZAREA INTEGER,
> ZLATITUDE FLOAT, ZLONGITUDE FLOAT, ZNAME VARCHAR, ZREGIONALCODE VARCHAR,
> ZTIMEZONENAME VARCHAR, ZCODE VARCHAR, ZLANGUAGES VARCHAR );
> CREATE TABLE ZGEOPLACENAME ( Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER,
> Z_OPT INTEGER, ZAR INTEGER, ZCA INTEGER, ZCS INTEGER, ZDA INTEGER, ZDE
> INTEGER, ZEL INTEGER, ZEN INTEGER, ZES INTEGER, ZFI INTEGER, ZFR INTEGER,
> ZHE INTEGER, ZHR INTEGER, ZHU INTEGER, ZID INTEGER, ZIT INTEGER, ZJA
> INTEGER, ZKO INTEGER, ZMS INTEGER, ZNL INTEGER, ZNO INTEGER, ZPL INTEGER,
> ZPT INTEGER, ZPT_BR INTEGER, ZRO INTEGER, ZRU INTEGER, ZSK INTEGER, ZSV
> INTEGER, ZTH INTEGER, ZTR INTEGER, ZUK INTEGER, ZVI INTEGER, ZZH INTEGER,
> ZZH_TW INTEGER, ZPLACE INTEGER, Z1_PLACE INTEGER, ZNAME VARCHAR );
> CREATE INDEX ZGEOKITPLACE_ZGEONAMEID_INDEX ON ZGEOKITPLACE (ZGEONAMEID);
> CREATE INDEX ZGEOKITPLACE_ZLATITUDE_INDEX ON ZGEOKITPLACE (ZLATITUDE);
> CREATE INDEX ZGEOKITPLACE_ZLONGITUDE_INDEX ON ZGEOKITPLACE (ZLONGITUDE);
> CREATE INDEX ZGEOKITPLACE_ZPOPULATION_INDEX ON ZGEOKITPLACE (ZPOPULATION);
> CREATE INDEX ZGEOKITPLACE_ZISCAPITAL_INDEX ON ZGEOKITPLACE (ZISCAPITAL);
> CREATE INDEX ZGEOKITPLACE_ZTIMEZONENAME_INDEX ON ZGEOKITPLACE
> (ZTIMEZONENAME);
> CREATE INDEX ZGEOKITPLACE_ZCOUNTRY_INDEX ON ZGEOKITPLACE (ZCOUNTRY);
> CREATE INDEX ZGEOKITPLACE_ZCODE_INDEX ON ZGEOKITPLACE (ZCODE);
> CREATE INDEX ZGEOKITPLACE_Z_ENT_INDEX ON ZGEOKITPLACE (Z_ENT);
> CREATE INDEX ZGEOPLACENAME_ZDA_INDEX ON ZGEOPLACENAME (ZDA);
> CREATE INDEX ZGEOPLACENAME_ZDE_INDEX ON ZGEOPLACENAME (ZDE);
> CREATE INDEX ZGEOPLACENAME_ZEN_INDEX ON ZGEOPLACENAME (ZEN);
> CREATE INDEX ZGEOPLACENAME_ZES_INDEX ON ZGEOPLACENAME (ZES);
> CREATE INDEX ZGEOPLACENAME_ZFI_INDEX ON ZGEOPLACENAME (ZFI);
> CREATE INDEX ZGEOPLACENAME_ZFR_INDEX ON ZGEOPLACENAME (ZFR);
> CREATE INDEX ZGEOPLACENAME_ZIT_INDEX ON ZGEOPLACENAME (ZIT);
> CREATE INDEX ZGEOPLACENAME_ZJA_INDEX ON ZGEOPLACENAME (ZJA);
> CREATE INDEX ZGEOPLACENAME_ZKO_INDEX ON ZGEOPLACENAME (ZKO);
> CREATE INDEX ZGEOPLACENAME_ZNAME_INDEX ON ZGEOPLACENAME (ZNAME);
> CREATE INDEX ZGEOPLACENAME_ZNL_INDEX ON ZGEOPLACENAME (ZNL);
> CREATE INDEX ZGEOPLACENAME_ZNO_INDEX ON ZGEOPLACENAME (ZNO);
> CREATE INDEX ZGEOPLACENAME_ZPL_INDEX ON ZGEOPLACENAME (ZPL);
> CREATE INDEX ZGEOPLACENAME_ZPT_INDEX ON ZGEOPLACENAME (ZPT);
> CREATE INDEX ZGEOPLACENAME_ZPT_BR_INDEX ON ZGEOPLACENAME (ZPT_BR);
> CREATE INDEX ZGEOPLACENAME_ZRU_INDEX ON ZGEOPLACENAME (ZRU);
> CREATE INDEX ZGEOPLACENAME_ZSV_INDEX ON ZGEOPLACENAME (ZSV);
> CREATE INDEX ZGEOPLACENAME_ZZH_INDEX ON ZGEOPLACENAME (ZZH);
> CREATE INDEX ZGEOPLACENAME_ZZH_TW_INDEX ON ZGEOPLACENAME (ZZH_TW);
> CREATE INDEX ZGEOPLACENAME_ZPLACE_INDEX ON ZGEOPLACENAME (ZPLACE);
> CREATE INDEX ZGEOPLACENAME_Z_ENT_INDEX ON ZGEOPLACENAME (Z_ENT);
> CREATE TABLE Z_PRIMARYKEY (Z_ENT INTEGER PRIMARY KEY, Z_NAME VARCHAR,
> Z_SUPER INTEGER, Z_MAX INTEGER);
> CREATE TABLE Z_METADATA (Z_VERSION INTEGER PRIMARY KEY, Z_UUID
> VARCHAR(255), Z_PLIST BLOB);
> CREATE TABLE Z_MODELCACHE (Z_CONTENT BLOB);
>
> I haven't fired up Mike T's SQLite Database App to try to figure out how
> to use it to translate a city name to a tzid, but that might be one way to
> implement the tzid command.
>
> > Like it or not, the tzdb identifiers *are* the identifiers used to
> > name and select time zones.
>
> They are the identifiers used to *identify* time zones.
>
> They should not be the only way to *select* time zones; UIs should be
> offered that allow people to specify a location and have code figure out
> the time zone.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mm.icann.org/pipermail/tz/attachments/20171114/174f1fa2/attachment.htm>
More information about the tz
mailing list