Topics: AIX, System Admin
Olson time zone support
"The public-domain time zone database contains code and data that represent
the history of local time for many representative locations around the globe. It is
updated periodically to reflect changes made by political bodies to time zone
boundaries, UTC offsets, and daylight-saving rules. This database (often called
tz or zoneinfo) is used by several implementations.
Each location in the database represents a national region where all clocks
keeping local time have agreed since 1970. Locations are identified by continent
or ocean and then by the name of the location, which is typically the largest city within the region. For example, America/New_York represents most of the US
eastern time zone; America/Phoenix represents most of Arizona, which uses
mountain time without daylight saving time (DST); America/Detroit represents
most of Michigan, which uses eastern time but with different DST rules in 1975;
and other entries represent smaller regions like Starke County, Indiana, which
switched from central to eastern time in 1991 and switched back in 2006."
The public-domain time zone database is also widely known as the Olson time
zone database and is the architecture on which the International Components for
Unicode (ICU) and the Common Locale Data Repository (CLDR) time zone
support relies.
In previous AIX releases, the method by which the operating system supports
time zone conventions is based on the POSIX time zone specification. In addition
to this industry standard approach, AIX V6.1 recognizes and processes the
Olson time zone naming conventions to facilitate support for a comprehensive
set of time zones.
This enhancement leverages the uniform time zone naming convention of the
Olson database to offer an intuitive set of time zone values that can be assigned
to the TZ time zone environment variable.
Note: Time zone definitions conforming to the POSIX specification are still
supported and recognized by AIX. AIX checks the TZ environment variable to
determine if the environment variable follows the POSIX specification rules. If
the TZ environment variable does not match the POSIX convention, AIX calls
the ICU library to get the Olson time zone translation.
The use of the Olson database for time zone support within AIX provides
significant advantages over the traditional POSIX rules. One of the biggest
advantages is that Olson database maintains a historical record of what the time
zone rules were at given points in time, so that if the rules change in a particular
location, dates and times can be interpreted correctly both in the present and
past. A good example of this is the US state of Indiana, which just began using
daylight saving time in the year 2006. Under the POSIX implementation, Indiana
would have to set its time zone value to EST5EDT, which would format current
dates correctly using daylight saving time, but would also format times from
previous years as though they were on daylight saving time, which is incorrect.
Use of the ICU API set for time zones also allows for localized display names for
time zones. For example, Central Daylight Saving Time would have an
abbreviation of CDT for all locales under a POSIX implementation, but under
ICU/Olson, it displays properly as HAC (Heure Avancée du Centre) in a French
locale.
As in previous AIX releases, system administrators can rely on the Systems
Management Interface Tool (SMIT) to configure the time zone by using system
defined values for the TZ environment variable. To accomplish this task, enter the
main SMIT menu and select System Environments, Change / Show Date and
Time to access the Change Time Zone Using System Defined Values menu.
Alternatively, the SMIT fast path chtz_date will directly open the Change / Show
Date and Time menu. Selecting the Change Time Zone Using System Defined
Values option will prompt SMIT to open the Select COUNTRY or REGION menu.

SMIT uses the undocumented /usr/lib/nls/lstz -C command to produce the list of available countries and regions. Note that undocumented commands and features are not officially supported for customer use, are not covered by the AIX compatibility statement, and may be subject to change without notice.
After you have chosen the country or region in the Select COUNTRY or REGION menu, a new selection menu will list all available time zones for the country or region in question.

The selected value of the first column will be passed by SMIT to the chtz command, which in turn will change the TZ variable value in the /etc/environment system level configuration file. As with previous AIX releases, time zone configuration changes always require a system reboot to become effective.
SMIT uses the internal /usr/lib/nls/lstz -c command to produce the list of available time zones for a given country and region. The -c flag uses a country or region designation as the input parameter. The /usr/lib/nls/lstz -C command provides a list of available input parameters. The /usr/lib/nls/lstz command used without any flag provides a full list of all Olson time zones available on AIX. Note that undocumented commands and features are not officially supported for customer use, are not covered by the AIX compatibility statement, and may be subject to change without notice.
If you found this useful, here's more on the same topic(s) in our blog:
- TCPdump/IPtrace existing files?
- NFS mounts on HACMP failing
- Logical volumes with customized owner / group / mode
- Paging space best practices
- PRNG is not SEEDED
Interested in learning more?