[tz] Support for the IANA database in the Python standard library

Brian Inglis Brian.Inglis at SystematicSw.ab.ca
Wed Feb 26 04:39:46 UTC 2020


On 2020-02-25 19:40, Paul Ganssle wrote:
> Thanks for the comments, I'll update the proposal in response. 

> In any case, thanks so much for the comments, you've given me a lot of food for
> thought already!

You may also want to bear in mind and take account of the existing system
conventions around default user and system time zones, locales, and formats (I
get annoyed if your tool ignores my configured preferences, or I have to set yet
another preference, which probably lacks features, sucks, or doesn't do what I
want e.g. MS Windows settings do not support time zone formats like %z %Z):

$ echo $TZ # env var TZ contains the user default time zone name
America/Edmonton
$ head /etc/timezone # /etc/timezone contains the system default timezone name
America/Edmonton
$ llgo /etc/localtime # /etc/localtime links to the system default timezone file
lrwxrwxrwx 1 36 Feb 25 16:23 /etc/localtime -> /usr/share/zoneinfo/America/Edmonton
$ l /usr/share/i18n/locales/en* # template locale definitions
 /usr/share/i18n/locales/en_AG         /usr/share/i18n/locales/en_IN
 /usr/share/i18n/locales/en_AU         /usr/share/i18n/locales/en_NG
 /usr/share/i18n/locales/en_BW         /usr/share/i18n/locales/en_NZ
 /usr/share/i18n/locales/en_CA         /usr/share/i18n/locales/en_PH
 /usr/share/i18n/locales/en_DK         /usr/share/i18n/locales/en_SC
 /usr/share/i18n/locales/en_GB         /usr/share/i18n/locales/en_SG
 /usr/share/i18n/locales/en_HK         /usr/share/i18n/locales/en_US
 /usr/share/i18n/locales/en_IE         /usr/share/i18n/locales/en_ZA
'/usr/share/i18n/locales/en_IE at euro'   /usr/share/i18n/locales/en_ZM
 /usr/share/i18n/locales/en_IL         /usr/share/i18n/locales/en_ZW
$ apropos locale-gen # generates configured definitions from templates
locale-gen (8)       - generates localisation files from templates
locale.gen (5)       - Configuration file for locale-gen
$ llgo /etc/locale.*
-rw-r--r-- 1 3.0K May  1  2019 /etc/locale.alias
-rw-r--r-- 1 9.2K Feb 10 12:05 /etc/locale.gen
$ localedef --list-archive # shows the system locales supported in
			   # LOCPATH default $LOCALEDIR/locale-archive
			   # LOCALEDIR default /usr/lib/locale/
en_CA
en_CA.iso88591
en_CA.utf8
en_GB
en_GB.iso88591
en_GB.utf8
en_US
en_US.iso88591
en_US.utf8
$ locale # shows the current user locale settings
LANG=en_CA.UTF-8
LANGUAGE=en_CA:en_GB:en_UK:en
LC_CTYPE="en_CA.UTF-8"
LC_NUMERIC="en_CA.UTF-8"
LC_TIME="en_CA.UTF-8"
LC_COLLATE="en_CA.UTF-8"
LC_MONETARY="en_CA.UTF-8"
LC_MESSAGES="en_CA.UTF-8"
LC_PAPER="en_CA.UTF-8"
LC_NAME="en_CA.UTF-8"
LC_ADDRESS="en_CA.UTF-8"
LC_TELEPHONE="en_CA.UTF-8"
LC_MEASUREMENT="en_CA.UTF-8"
LC_IDENTIFICATION="en_CA.UTF-8"
LC_ALL=
$ locale -ck LC_TIME # shows the current user locale time category settings
LC_TIME
abday="Sun;Mon;Tue;Wed;Thu;Fri;Sat"
day="Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday"
abmon="Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec"
mon="January;February;March;April;May;June;July;August;September;October;November;December"
am_pm="am;pm"
d_t_fmt="%Y %b %d %a %T%z"
d_fmt="%F"
t_fmt="%T"
t_fmt_ampm="%I:%M:%S %p %Z"
era=
era_year=""
era_d_fmt=""
alt_digits=
era_d_t_fmt=""
era_t_fmt=""
time-era-num-entries=0
time-era-entries="S"
week-ndays=7
week-1stday=19971130
week-1stweek=1
first_weekday=2
first_workday=2
cal_direction=1
timezone=""
date_fmt="%Y %b %e %a %T %Z"
time-codeset="UTF-8"
alt_mon="January;February;March;April;May;June;July;August;September;October;November;December"
ab_alt_mon="Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec"

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.


More information about the tz mailing list