From 13980693084c36e0275828d8d46d9d9e8975be0d Mon Sep 17 00:00:00 2001
From: Paul Eggert
Date: Wed, 27 Jun 2018 11:24:09 -0700
Subject: [PROPOSED 1/3] =?UTF-8?q?Use=20=E2=80=9Ctimezone=E2=80=9C=20for?=
=?UTF-8?q?=20timestamp=20histories?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The POSIX standard uses the spelling “timezone”, and often uses it to
mean a TZ setting that determines the past and predicted future of UT
offsets, time zone abbreviations, and tm_isdst flags. In contrast, in
popular usage by far the most common spelling is “time zone”, and it
typically means a maximal geographic region of clocks that currently
have the same standard time. As these two quite-different meanings
are often confused, attempt to disambiguate things a bit by
consistently using “timezone” for the former meaning and “time zone”
for the latter. This affects documentation and a few diagnostic
messages.
---
Makefile | 22 +++++++-------
NEWS | 22 ++++++++------
backward | 2 +-
date.1 | 4 +--
etcetera | 2 +-
factory | 4 +--
localtime.c | 25 ++++++++--------
newctime.3 | 8 ++---
newstrftime.3 | 5 ++--
newtzset.3 | 16 +++++-----
strftime.c | 3 +-
theory.html | 93 ++++++++++++++++++++++++++++++++++------------------------
tz-how-to.html | 2 +-
tz-link.html | 24 +++++++--------
tzfile.5 | 18 ++++++------
tzselect.8 | 12 ++++----
tzselect.ksh | 18 +++++-------
zdump.8 | 16 +++++-----
zdump.c | 2 +-
zic.8 | 38 +++++++++++++-----------
zone.tab | 12 ++++----
zone1970.tab | 28 +++++++++---------
22 files changed, 200 insertions(+), 176 deletions(-)
diff --git a/Makefile b/Makefile
index 29058e5..9e3b8f9 100644
--- a/Makefile
+++ b/Makefile
@@ -19,9 +19,9 @@ BUGEMAIL= tz@iana.org
# DATAFORM= rearguard
DATAFORM= main
-# Change the line below for your time zone (after finding the zone you want in
-# the time zone files, or adding it to a time zone file).
-# Alternatively, if you discover you've got the wrong time zone, you can just
+# Change the line below for your timezone (after finding the one you want in
+# one of the $(TDATA) source files, or adding it to a source file).
+# Alternatively, if you discover you've got the wrong timezone, you can just
# zic -l rightzone
# to correct things.
# Use the command
@@ -31,14 +31,14 @@ DATAFORM= main
LOCALTIME= GMT
# If you want something other than Eastern United States time as a template
-# for handling POSIX-style time zone environment variables,
-# change the line below (after finding the zone you want in the
-# time zone files, or adding it to a time zone file).
+# for handling POSIX-style timezone environment variables,
+# change the line below (after finding the timezone you want in the
+# one of the $(TDATA) source files, or adding it to a source file).
# When a POSIX-style environment variable is handled, the rules in the
# template file are used to determine "spring forward" and "fall back" days and
# times; the environment variable itself specifies UT offsets of standard and
# daylight saving time.
-# Alternatively, if you discover you've got the wrong time zone, you can just
+# Alternatively, if you discover you've got the wrong timezone, you can just
# zic -p rightzone
# to correct things.
# Use the command
@@ -75,7 +75,7 @@ DESTDIR =
# TOPDIR should be empty or an absolute name unless you're just testing.
TOPDIR =
-# The default local time zone is taken from the file TZDEFAULT.
+# The default local timezone is taken from the file TZDEFAULT.
TZDEFAULT = $(TOPDIR)/etc/localtime
# The subdirectory containing installed program and data files, and
@@ -84,7 +84,7 @@ TZDEFAULT = $(TOPDIR)/etc/localtime
USRDIR = usr
USRSHAREDIR = $(USRDIR)/share
-# "Compiled" time zone information is placed in the "TZDIR" directory
+# "Compiled" timezone information is placed in the "TZDIR" directory
# (and subdirectories).
# TZDIR_BASENAME should not contain "/" and should not be ".", ".." or empty.
TZDIR_BASENAME= zoneinfo
@@ -298,7 +298,7 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \
# "tzsetwall", "offtime", "timelocal", "timegm", "timeoff",
# "posix2time", and "time2posix" to be added to the time conversion library.
# "tzsetwall" is like "tzset" except that it arranges for local wall clock
-# time (rather than the time specified in the TZ environment variable)
+# time (rather than the timezone specified in the TZ environment variable)
# to be used.
# "offtime" is like "gmtime" except that it accepts a second (long) argument
# that gives an offset to add to the time_t when converting it.
@@ -321,7 +321,7 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \
# "posix2time_z" and "time2posix_z" are added as well.
# The functions ending in "_z" (or "_rz") are like their unsuffixed
# (or suffixed-by-"_r") counterparts, except with an extra first
-# argument of opaque type timezone_t that specifies the time zone.
+# argument of opaque type timezone_t that specifies the timezone.
# "tzalloc" allocates a timezone_t value, and "tzfree" frees it.
#
# If you want to allocate state structures in localtime, add
diff --git a/NEWS b/NEWS
index 5296542..4ebb5f7 100644
--- a/NEWS
+++ b/NEWS
@@ -64,6 +64,10 @@ Unreleased, experimental changes
tzfile.5 now documents what time types apply before the first and
after the last transition, if any.
+ Documentation now uses the spelling "timezone" for a TZ setting
+ that determines timestamp history, and "time zone" for a
+ geographic region currently sharing the same standard time.
+
The name "TZif" is now used for the tz binary data format.
tz-link.htm now mentions the A0 TimeZone Migration utilities.
@@ -607,7 +611,7 @@ Release 2017b - 2017-03-17 07:30:38 -0700
The reference localtime implementation now falls back on the
current US daylight-saving transition rules rather than the
1987-2006 rules. This fallback occurs only when (1) the TZ
- environment variable's value has a name like "AST4ADT" that asks
+ environment variable has a value like "AST4ADT" that asks
for daylight saving time but does not specify the rules, (2) there
is no file by that name, and (3) the TZDEFRULES file cannot be
loaded. (Thanks to Tom Lane.)
@@ -1762,7 +1766,7 @@ Release 2014g - 2014-08-28 12:31:23 -0700
Unless NETBSD_INSPIRED is defined to 0, the tz library now
supplies functions for creating and using objects that represent
- time zones. The new functions are tzalloc, tzfree, localtime_rz,
+ timezones. The new functions are tzalloc, tzfree, localtime_rz,
mktime_z, and (if STD_INSPIRED is also defined) posix2time_z and
time2posix_z. They are intended for performance: for example,
localtime_rz (unlike localtime_r) is trivially thread-safe without
@@ -1776,7 +1780,7 @@ Release 2014g - 2014-08-28 12:31:23 -0700
TZDOBJS=zdump.o CHECK_TIME_T_ALTERNATIVES='.
zdump now uses localtime_rz if available, as it's significantly faster,
- and it can help zdump better diagnose invalid time zone names.
+ and it can help zdump better diagnose invalid timezone names.
Define HAVE_LOCALTIME_RZ to 0 to suppress this. HAVE_LOCALTIME_RZ
defaults to 1 if NETBSD_INSPIRED && USE_LTZ. When localtime_rz is
not available, zdump now uses localtime_r and tzset if available,
@@ -1792,7 +1796,7 @@ Release 2014g - 2014-08-28 12:31:23 -0700
invalid or outlandish input.
The tz library no longer mishandles leap seconds on platforms with
- unsigned time_t in time zones that lack ordinary transitions after 1970.
+ unsigned time_t in timezones that lack ordinary transitions after 1970.
The tz code now attempts to infer TM_GMTOFF and TM_ZONE if not
already defined, to make it easier to configure on common platforms.
@@ -3570,7 +3574,7 @@ Release 2005j - 2005-06-13 14:34:13 -0400
These reflect changes to limit the length of time zone abbreviations
and the characters used in those abbreviations.
- There are also changes to handle POSIX-style "quoted" time zone
+ There are also changes to handle POSIX-style "quoted" timezone
environment variables.
The changes were circulated on the time zone mailing list; the only
@@ -3896,7 +3900,7 @@ Release 1999f - 1999-09-23 09:48:14 -0400
Release 1999e - 1999-08-17 15:20:54 -0400
changes circulated by Paul Eggert, although the change to handling
- of DST-specifying time zone names has been commented out for now
+ of DST-specifying timezone names has been commented out for now
(search for "XXX" in "localtime.c" for details). These files also
do not make any changes to the start of DST in Brazil.
@@ -4021,7 +4025,7 @@ Release code1997i-data1997k - 1997-12-29 09:53:41 -0500
Release code1997h-data1997j - 1997-12-18 17:47:35 -0500
- minor changes to put "TZif" at the start of each time zone information file
+ minor changes to put "TZif" at the start of each timezone information file
a rule has also been added to the Makefile so you can
make zones
@@ -4531,8 +4535,8 @@ consisting of a single tarball tzdb-R.tar.lz with extra data.
Release timestamps are taken from the release's commit (for newer,
Git-based releases), from the newest file in the tarball (for older
releases, where this info is available) or from the email announcing
-the release (if all else fails; these are marked with a time zone of
--0000 and an "is missing!" comment).
+the release (if all else fails; these are marked with a time zone
+abbreviation of -0000 and an "is missing!" comment).
Earlier versions of the code and data were not announced on the tz
list and are not summarized here.
diff --git a/backward b/backward
index 2141f0d..a455044 100644
--- a/backward
+++ b/backward
@@ -1,7 +1,7 @@
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
-# This file provides links between current names for time zones
+# This file provides links between current names for timezones
# and their old names. Many names changed in late 1993.
# Link TARGET LINK-NAME
diff --git a/date.1 b/date.1
index 28dc1d7..6e79cc1 100644
--- a/date.1
+++ b/date.1
@@ -146,11 +146,11 @@ should be an integer, either decimal, octal (leading 0), or
hexadecimal (leading 0x), preceded by an optional sign.
.SH FILES
.ta \w'/usr/share/zoneinfo/posixrules\0\0'u
-/etc/localtime local time zone file
+/etc/localtime local timezone file
.br
/usr/lib/locale/\f2L\fP/LC_TIME description of time locale \f2L\fP
.br
-/usr/share/zoneinfo time zone information directory
+/usr/share/zoneinfo timezone information directory
.br
/usr/share/zoneinfo/posixrules used with POSIX-style TZ's
.br
diff --git a/etcetera b/etcetera
index f5fa4c9..1a59630 100644
--- a/etcetera
+++ b/etcetera
@@ -3,7 +3,7 @@
# These entries are mostly present for historical reasons, so that
# people in areas not otherwise covered by the tz files could "zic -l"
-# to a time zone that was right for their area. These days, the
+# to a timezone that was right for their area. These days, the
# tz files cover almost all the inhabited world, and the only practical
# need now for the entries that are not on UTC are for ships at sea
# that cannot use POSIX TZ settings.
diff --git a/factory b/factory
index 75fa4a1..5f0573d 100644
--- a/factory
+++ b/factory
@@ -1,8 +1,8 @@
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
-# For distributors who don't want to put time zone specification in
-# their installation procedures. Users that run 'date' will get the
+# For distributors who don't want to specify a timezone in their
+# installation procedures. Users who run 'date' will get the
# time zone abbreviation "-00", indicating that the actual time zone
# is unknown.
diff --git a/localtime.c b/localtime.c
index f205363..b217865 100644
--- a/localtime.c
+++ b/localtime.c
@@ -300,7 +300,7 @@ settzname(void)
return;
}
/*
- ** And to get the latest zone names into tzname. . .
+ ** And to get the latest time zone abbreviations into tzname. . .
*/
for (i = 0; i < sp->typecnt; ++i) {
register const struct ttinfo * const ttisp = &sp->ttis[i];
@@ -774,9 +774,9 @@ static const int year_lengths[2] = {
};
/*
-** Given a pointer into a time zone string, scan until a character that is not
-** a valid character in a zone name is found. Return a pointer to that
-** character.
+** Given a pointer into a timezone string, scan until a character that is not
+** a valid character in a time zone abbreviation is found.
+** Return a pointer to that character.
*/
static const char *
@@ -791,8 +791,9 @@ getzname(register const char *strp)
}
/*
-** Given a pointer into an extended time zone string, scan until the ending
-** delimiter of the zone name is located. Return a pointer to the delimiter.
+** Given a pointer into an extended timezone string, scan until the ending
+** delimiter of the time zone abbreviation is located.
+** Return a pointer to the delimiter.
**
** As with getzname above, the legal character set is actually quite
** restricted, with other characters producing undefined results.
@@ -810,7 +811,7 @@ getqzname(register const char *strp, const int delim)
}
/*
-** Given a pointer into a time zone string, extract a number from that string.
+** Given a pointer into a timezone string, extract a number from that string.
** Check that the number is within a specified range; if it is not, return
** NULL.
** Otherwise, return a pointer to the first character not part of the number.
@@ -838,7 +839,7 @@ getnum(register const char *strp, int *const nump, const int min, const int max)
}
/*
-** Given a pointer into a time zone string, extract a number of seconds,
+** Given a pointer into a timezone string, extract a number of seconds,
** in hh[:mm[:ss]] form, from the string.
** If any error occurs, return NULL.
** Otherwise, return a pointer to the first character not part of the number
@@ -879,7 +880,7 @@ getsecs(register const char *strp, int_fast32_t *const secsp)
}
/*
-** Given a pointer into a time zone string, extract an offset, in
+** Given a pointer into a timezone string, extract an offset, in
** [+-]hh[:mm[:ss]] form, from the string.
** If any error occurs, return NULL.
** Otherwise, return a pointer to the first character not part of the time.
@@ -904,7 +905,7 @@ getoffset(register const char *strp, int_fast32_t *const offsetp)
}
/*
-** Given a pointer into a time zone string, extract a rule in the form
+** Given a pointer into a timezone string, extract a rule in the form
** date[/time]. See POSIX section 8 for the format of "date" and "time".
** If a valid rule is not found, return NULL.
** Otherwise, return a pointer to the first character not part of the rule.
@@ -1106,7 +1107,7 @@ tzparse(const char *name, struct state *sp, bool lastditch)
} else {
dstname = name;
name = getzname(name);
- dstlen = name - dstname; /* length of DST zone name */
+ dstlen = name - dstname; /* length of DST abbr. */
}
if (!dstlen)
return false;
@@ -1450,7 +1451,7 @@ tzfree(timezone_t sp)
**
** If successful and SETNAME is nonzero,
** set the applicable parts of tzname, timezone and altzone;
-** however, it's OK to omit this step if the time zone is POSIX-compatible,
+** however, it's OK to omit this step if the timezone is POSIX-compatible,
** since in that case tzset should have already done this step correctly.
** SETNAME's type is intfast32_t for compatibility with gmtsub,
** but it is actually a boolean and its value should be 0 or 1.
diff --git a/newctime.3 b/newctime.3
index d4645ad..565e89a 100644
--- a/newctime.3
+++ b/newctime.3
@@ -187,7 +187,7 @@ and
are like their unsuffixed counterparts, except that they accept an
extra initial
.B zone
-argument specifying the time zone to be used for conversion.
+argument specifying the timezone to be used for conversion.
If
.B zone
is null, UT is used; otherwise,
@@ -252,9 +252,9 @@ There is no guarantee that these fields and this variable will
continue to exist in this form in future releases of this code.
.SH FILES
.ta \w'/usr/share/zoneinfo/posixrules\0\0'u
-/usr/share/zoneinfo time zone information directory
+/usr/share/zoneinfo timezone information directory
.br
-/usr/share/zoneinfo/localtime local time zone file
+/usr/share/zoneinfo/localtime local timezone file
.br
/usr/share/zoneinfo/posixrules used with POSIX-style TZ's
.br
@@ -292,7 +292,7 @@ can be freed or overwritten by later calls to the functions
.IR tzfree ,
and
.IR tzset ,
-if these functions affect the time zone information that specifies the
+if these functions affect the timezone information that specifies the
abbreviation in question.
The remaining functions and data are thread-safe.
.PP
diff --git a/newstrftime.3 b/newstrftime.3
index f1a1a6d..1fd80df 100644
--- a/newstrftime.3
+++ b/newstrftime.3
@@ -210,7 +210,7 @@ is replaced by the year with century as a decimal number.
is replaced by the year without century as a decimal number (00\*(en99).
.TP
%Z
-is replaced by the time zone name,
+is replaced by the time zone abbreviation,
or by the empty string if this is not determinable.
.TP
%z
@@ -218,7 +218,8 @@ is replaced by the offset from the Prime Meridian
in the format +HHMM or \*-HHMM as appropriate,
with positive values representing locations east of Greenwich,
or by the empty string if this is not determinable.
-The numeric time zone \*-0000 is used when the time is Universal Time
+The numeric time zone abbreviation \*-0000 is used when the time is
+Universal Time
but local time is indeterminate; by convention this is used for
locations while uninhabited, and corresponds to a zero offset when the
time zone abbreviation begins with
diff --git a/newtzset.3 b/newtzset.3
index 0eab732..29e8a21 100644
--- a/newtzset.3
+++ b/newtzset.3
@@ -26,17 +26,17 @@ tzset \- initialize time conversion information
\\$3\*(lq\\$1\*(rq\\$2
..
.I Tzalloc
-allocates and returns a time zone object described by
+allocates and returns a timezone object described by
.BR TZ .
If
.B TZ
-is not a valid time zone description, or if the object cannot be allocated,
+is not a valid timezone description, or if the object cannot be allocated,
.I tzalloc
returns a null pointer and sets
.BR errno .
.PP
.I Tzfree
-frees a time zone object
+frees a timezone object
.BR tz ,
which should have been successfully allocated by
.IR tzalloc .
@@ -49,13 +49,13 @@ was used to set.
.I Tzset
acts like
.BR tzalloc(getenv("TZ")) ,
-except it saves any resulting time zone object into internal
+except it saves any resulting timezone object into internal
storage that is accessed by
.IR localtime ,
.IR localtime_r ,
and
.IR mktime .
-The anonymous shared time zone object is freed by the next call to
+The anonymous shared timezone object is freed by the next call to
.IR tzset .
If the implied call to
.B tzalloc
@@ -252,7 +252,7 @@ is not given, is
.LP
Here are some examples of
.B TZ
-values that directly specify the time zone rules; they use some of the
+values that directly specify the timezone; they use some of the
extensions to POSIX.
.TP
.B EST5
@@ -321,9 +321,9 @@ may be used to separate the
from the rest of the specification.
.SH FILES
.ta \w'/usr/share/zoneinfo/posixrules\0\0'u
-/usr/share/zoneinfo time zone information directory
+/usr/share/zoneinfo timezone information directory
.br
-/usr/share/zoneinfo/localtime local time zone file
+/usr/share/zoneinfo/localtime local timezone file
.br
/usr/share/zoneinfo/posixrules used with POSIX-style TZ's
.br
diff --git a/strftime.c b/strftime.c
index e855890..ac26f4b 100644
--- a/strftime.c
+++ b/strftime.c
@@ -487,7 +487,8 @@ label:
/*
** C99 and later say that %Z must be
** replaced by the empty string if the
- ** time zone is not determinable.
+ ** time zone abbreviation is not
+ ** determinable.
*/
continue;
case 'z':
diff --git a/theory.html b/theory.html
index 7ff6fc4..3939946 100644
--- a/theory.html
+++ b/theory.html
@@ -15,7 +15,7 @@
-Clock transitions before 1970 are recorded for each such location,
+Each timezone typically corresponds to a geographical region that is
+smaller than a traditional time zone, because clocks in a timezone
+all agree after 1970 whereas a traditional time zone merely
+specifies current standard time. For example, applications that deal
+with current and future timestamps in the traditional North
+American mountain time zone can choose from the timezones
+America/Denver
which observes US-style daylight saving
+time, America/Mazatlan
which observes Mexican-style DST,
+and America/Phoenix
which does not observe DST.
+Applications that also deal with past timestamps in the mountain time
+zone can choose from over a dozen timezones, such as
+America/Boise
, America/Edmonton
, and
+America/Hermosillo
, each of which currently uses mountain
+time but differs from other timezones for some timestamps after 1970.
+
+
+
+Clock transitions before 1970 are recorded for each timezone,
because most systems support timestamps before 1970 and could
misbehave if data entries were omitted for pre-1970 transitions.
However, the database is not designed for and does not suffice for
@@ -77,23 +94,22 @@ Edition.
Because the database's scope encompasses real-world changes to civil
timekeeping, its model for describing time is more complex than the
standard and daylight saving times supported by POSIX.
-A tz
region corresponds to a ruleset that can
+A tz
timezone corresponds to a ruleset that can
have more than two changes per year, these changes need not merely
flip back and forth between two alternatives, and the rules themselves
can change at times.
-Whether and when a tz
region changes its
-clock, and even the region's notional base offset from UTC, are variable.
-It does not always make sense to talk about a region's
-"base offset", since it is not necessarily a single number.
+Whether and when a timezone changes its
+clock, and even the timezone's notional base offset from UTC, are variable.
+It does not always make sense to talk about a timezone's
+"base offset", which is not necessarily a single number.
- Names of time zone rulesets
+ Names of timezones
-Each tz
region has a unique name that
-corresponds to a set of time zone rules.
+Each timezone has a unique name.
Inexperienced users are not expected to select these names unaided.
Distributors should provide documentation and/or a simple selection
interface that explains the names; for one example, see the
@@ -110,12 +126,12 @@ among the following goals:
-
- Uniquely identify every region where clocks have agreed since 1970.
+ Uniquely identify every timezone where clocks have agreed since 1970.
This is essential for the intended use: static clocks keeping local
civil time.
-
- Indicate to experts where that region is.
+ Indicate to experts where the timezone's clocks typically are.
-
Be robust in the presence of political changes.
@@ -135,9 +151,8 @@ among the following goals:
Names normally have the form
AREA/
LOCATION, where
-AREA is the name of a continent or ocean, and
-LOCATION is the name of a specific location within that
-region.
+AREA is a continent or ocean, and
+LOCATION is a specific location within the area.
North and South America share the same area, 'America
'.
Typical names are 'Africa/Cairo
',
'America/New_York
', and 'Pacific/Honolulu
'.
@@ -148,7 +163,7 @@ Indiana from other Petersburgs in America.
Here are the general guidelines used for
-choosing tz
region names,
+choosing timezone names,
in decreasing order of importance:
@@ -200,9 +215,9 @@ in decreasing order of importance:
country or territory.
-
- If all the clocks in a region have agreed since 1970,
- do not bother to include more than one location
- even if subregions' clocks disagreed before 1970.
+ If all the clocks in a timezone have agreed since 1970,
+ do not bother to include more than one timezone
+ even if some of the clocks disagreed before 1970.
Otherwise these tables would become annoyingly large.
-
@@ -216,7 +231,7 @@ in decreasing order of importance:
Keep locations compact.
Use cities or small islands, not countries or regions, so that any
future changes do not split individual locations into different
-
tz
regions.
+ timezones.
E.g., prefer Europe/Paris
to Europe/France
,
since
France
@@ -278,9 +293,9 @@ in decreasing order of importance:
The file 'zone1970.tab
' lists geographical locations used
-to name tz
regions.
+to name timezones.
It is intended to be an exhaustive list of names for geographic
-regions as described above; this is a subset of the names in the data.
+regions as described above; this is a subset of the timezones in the data.
Although a 'zone1970.tab
' location's
longitude
corresponds to
@@ -493,8 +508,8 @@ in decreasing order of importance:
usage.
-
- Use a consistent style in a
tz
region's history.
- For example, if history tends to use numeric
+ Use a consistent style in a timezone's history.
+ For example, if a history tends to use numeric
abbreviations and a particular entry could go either way, use a
numeric abbreviation.
@@ -548,7 +563,7 @@ Errors in the tz
database arise from many sources:
The pre-1970 entries in this database cover only a tiny sliver of how
clocks actually behaved; the vast majority of the necessary
information was lost or never recorded.
- Thousands more tz
regions would be needed if
+ Thousands more timezones would be needed if
the tz
database's scope were extended to
cover even just the known or guessed history of standard time; for
example, the current single entry for France would need to split
@@ -613,19 +628,19 @@ href="https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanes
-
The
tz
database does not record the
- earliest time for which a tz
region's
+ earliest time for which a timezone's
data entries are thereafter valid for every location in the region.
For example, Europe/London
is valid for all locations
in its region after GMT was made the standard time,
but the date of standardization (1880-08-02) is not in the
tz
database, other than in commentary.
- For many tz
regions the earliest time of
+ For many timezones the earliest time of
validity is unknown.
-
The
tz
database does not record a
region's boundaries, and in many cases the boundaries are not known.
- For example, the tz
region
+ For example, the timezone
America/Kentucky/Louisville
represents a region
around the city of Louisville, the boundaries of which are
unclear.
@@ -756,7 +771,7 @@ Any attempt to pass the
should be unacceptable to anybody who cares about the facts.
In particular, the tz
database's
LMT offsets should not be considered meaningful, and
-should not prompt creation of tz
regions
+should not prompt creation of timezones
merely because two locations
differ in LMT or transitioned to standard time at
different dates.
@@ -808,7 +823,7 @@ an older zic
.
- std and dst
-
are 3 or more characters specifying the standard
- and daylight saving time (DST) zone names.
+ and daylight saving time (DST) zone abbreviations.
Starting with POSIX.1-2001, std and dst
may also be in a quoted form like '
<+09>
';
this allows "+
" and "-
" in the names.
@@ -894,7 +909,7 @@ an older zic
.
-
The
TZ
environment variable is process-global, which
makes it hard to write efficient, thread-safe applications that
- need access to multiple time zone rulesets.
+ need access to multiple timezones.
-
In POSIX, there is no tamper-proof way for a process to learn the
@@ -911,7 +926,7 @@ an older
zic
.
-
POSIX provides no convenient and efficient way to determine
the UT offset and time zone abbreviation of arbitrary
- timestamps, particularly for
tz
regions
+ timestamps, particularly for timezones
that do not fit into the POSIX model.
-
@@ -946,9 +961,9 @@ an older
zic
.
constrained to be a string containing abbreviations
and numeric data as described above.
The file's format is TZif,
- a time zone information format that contains binary data.
+ a timezone information format that contains binary data.
The daylight saving time rules to be used for a
- particular tz
region are encoded in the
+ particular timezone are encoded in the
TZif file; the format of the file allows US,
Australian, and other rules to be encoded, and
allows for situations where more than two time zone
@@ -983,7 +998,7 @@ an older zic
.
Functions tzalloc
, tzfree
,
localtime_rz
, and mktime_z
for
more-efficient thread-safe applications that need to use multiple
- time zone rulesets.
+ timezones.
The tzalloc
and tzfree
functions
allocate and free objects of type timezone_t
,
and localtime_rz
and mktime_z
are
@@ -1128,8 +1143,8 @@ The tz
code and data supply the following interfaces:
-
- A set of
tz
region names as per
- "Names of time zone rulesets" above.
+ A set of timezone names as per
+ "Names of timezones" above.
-
Library functions described in "Time and date
diff --git a/tz-how-to.html b/tz-how-to.html
index ca5f8cc..159ed89 100644
--- a/tz-how-to.html
+++ b/tz-how-to.html
@@ -520,7 +520,7 @@ a
SAVE
of zero.
- The tz
-database gives abbreviations for time zone names in popular
+database
gives abbreviations for time zones in popular
usage, which is not necessarily “correct” by law. For
example, the last line in
Zone
Pacific/Honolulu
(shown below) gives
diff --git a/tz-link.html b/tz-link.html
index 0e89b00..548fbba 100644
--- a/tz-link.html
+++ b/tz-link.html
@@ -61,10 +61,10 @@ title="Virtual Memory System">VMS,
Oracle Database, and
Oracle Solaris.
-Each location in the database represents a 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.
+Each main entry in the database represents a timezone
+for a set of civil-time clocks that have all agreed since 1970.
+Timezones are typically identified by continent or ocean and then by the
+name of the largest city within the region containing the clocks.
For example, America/New_York
represents most of the US eastern time zone;
America/Phoenix
represents most of Arizona, which
@@ -82,7 +82,7 @@ implementation set the TZ
environment variable to the location's full name,
e.g., TZ="America/New_York"
.
-Associated with each region is a history of offsets from
+Associated with each timezone is a history of offsets from
Universal
Time (UT), which is Greenwich Mean
@@ -147,7 +147,7 @@ After obtaining the code and data files, see the
README
file for what to do next.
The code lets you compile the tz
source files into
machine-readable binary files, one for each location. The binary files
-are in a special time zone information format (TZif).
+are in a special timezone information format (TZif).
The code also lets
you read a TZif file and interpret timestamps for that
location.
@@ -284,7 +284,7 @@ The tzdist-bis
mailing list discusses two Internet drafts: TZDIST
-Geolocate Extension lets a client determine its time zone region
+Geolocate Extension lets a client determine its timezone
from its geographic location using a 'geo' URI, and
The
@@ -603,7 +603,7 @@ mean solar and standard time, highlighting areas such as western China
where the two differ greatly. It's a bit out of date, unfortunately.
Time zone boundaries
-Geographical boundaries between time zone regions are available
+
Geographical boundaries between timezones are available
from several geolocation
services and other sources.
@@ -612,7 +612,7 @@ services and other sources.
- Timezone
Boundary Builder extracts
Open Street Map data to build
-boundaries of
tz
regions.
+boundaries of tzdb
timezones.
Its code is freely available under the MIT license, and
its data entries are freely available under the
Open Data Commons
@@ -620,9 +620,9 @@ Open Database License. The maps' borders appear to be quite accurate.
- TZ timezones
maps contains shapefiles of
-sets of
tz
regions. This includes
+sets of tzdb
timezones. This includes
tz_world, a shapefile
-for all the world's regions. These maps are no longer maintained and
+for all the world's timezones. These maps are no longer maintained and
are superseded by the Timezone Boundary Builder.
- Whereonearth-timezone
@@ -633,7 +633,7 @@ the tz_world shapefiles with the
dataset.
- Programmatic interfaces that map geographical coordinates via tz_world to
-
tz
regions include:
+tzdb
timezones include:
- GeoTimeZone is
written in &2 'Please enter the desired value' \
'of the TZ environment variable.'
- echo >&2 'For example, AEST-10 is a zone named AEST' \
- 'that is 10 hours'
+ echo >&2 'For example, AEST-10 is abbreviated' \
+ 'AEST and is 10 hours'
echo >&2 'ahead (east) of Greenwich,' \
'with no daylight saving time.'
read TZ
@@ -362,7 +362,7 @@ while
exit 0
}'
do
- say >&2 "'$TZ' is not a conforming Posix time zone string."
+ say >&2 "'$TZ' is not a conforming Posix timezone string."
done
TZ_for_date=$TZ;;
*)
@@ -388,8 +388,7 @@ while
BEGIN { FS = "\t" }
{ print $NF }
'`
- echo >&2 'Please select one of the following' \
- 'time zone regions,'
+ echo >&2 'Please select one of the following timezones,' \
echo >&2 'listed roughly in increasing order' \
"of distance from $coord".
doselect $regions
@@ -439,7 +438,7 @@ while
esac
- # Get list of names of time zone rule regions in the country.
+ # Get list of timezones in the country.
regions=`$AWK \
-v country="$country" \
-v TZ_COUNTRY_TABLE="$TZ_COUNTRY_TABLE" \
@@ -462,8 +461,7 @@ while
# If there's more than one region, ask the user which one.
case $regions in
*"$newline"*)
- echo >&2 'Please select one of the following' \
- 'time zone regions.'
+ echo >&2 'Please select one of the following timezones.'
doselect $regions
region=$select_result;;
*)
diff --git a/zdump.8 b/zdump.8
index 92e9e62..de83e15 100644
--- a/zdump.8
+++ b/zdump.8
@@ -1,12 +1,12 @@
.TH ZDUMP 8
.SH NAME
-zdump \- time zone dumper
+zdump \- timezone dumper
.SH SYNOPSIS
.B zdump
[
.I option
\&... ] [
-.I zonename
+.I timezone
\&... ]
.SH DESCRIPTION
.ie '\(lq'' .ds lq \&"\"
@@ -21,7 +21,7 @@ zdump \- time zone dumper
The
.B zdump
program prints the current time in each
-.I zonename
+.I timezone
named on the command line.
.SH OPTIONS
.TP
@@ -34,16 +34,16 @@ Output short usage message and exit.
.B \*-i
.I "(This option is experimental: its behavior may change in future versions.)"
Output a description of time intervals. For each
-.I zonename
+.I timezone
on the command line, output an interval-format description of the
-zone. See
+timezone. See
.q "INTERVAL FORMAT"
below.
.TP
.B \*-v
Output a verbose description of time intervals.
For each
-.I zonename
+.I timezone
on the command line,
print the time at the lowest possible time value,
the time one day after the lowest possible time value,
@@ -88,7 +88,7 @@ Cut off interval output at the given time(s),
given in decimal seconds since 1970-01-01 00:00:00
Coordinated Universal Time (UTC).
The
-.I zonename
+.I timezone
determines whether the count includes leap seconds.
As with
.BR \*-c ,
@@ -102,7 +102,7 @@ then a line
.q "TZ=\fIstring\fP"
where
.I string
-is a double-quoted string giving the zone name, a second line
+is a double-quoted string giving the timezone, a second line
.q "\*- \*- \fIinterval\fP"
describing the time interval before the first transition if any, and
zero or more following lines
diff --git a/zdump.c b/zdump.c
index a4d9108..4c61f58 100644
--- a/zdump.c
+++ b/zdump.c
@@ -382,7 +382,7 @@ static void
usage(FILE * const stream, const int status)
{
fprintf(stream,
-_("%s: usage: %s OPTIONS ZONENAME ...\n"
+_("%s: usage: %s OPTIONS TIMEZONE ...\n"
"Options include:\n"
" -c [L,]U Start at year L (default -500), end before year U (default 2500)\n"
" -t [L,]U Start at time L, end before time U (in seconds since 1970)\n"
diff --git a/zic.8 b/zic.8
index 3e33618..4ef7675 100644
--- a/zic.8
+++ b/zic.8
@@ -1,6 +1,6 @@
.TH ZIC 8
.SH NAME
-zic \- time zone compiler
+zic \- timezone compiler
.SH SYNOPSIS
.B zic
[
@@ -50,7 +50,9 @@ Create time conversion information files in the named directory rather than
in the standard directory named below.
.TP
.BI "\*-l " timezone
-Use the given time zone as local time.
+Use
+.I timezone
+as local time.
.B zic
will act as if the input contained a link line of the form
.sp
@@ -58,8 +60,10 @@ will act as if the input contained a link line of the form
Link \fItimezone\fP localtime
.TP
.BI "\*-p " timezone
-Use the given time zone's rules when handling POSIX-format
-time zone environment variables.
+Use
+.IR timezone 's
+rules when handling POSIX-format
+timezone environment variables.
.B zic
will act as if the input contained a link line of the form
.sp
@@ -97,7 +101,7 @@ Pre-2004 versions of
prohibit this.
.PP
The output file does not contain all the information about the
-long-term future of a zone, because the future cannot be summarized as
+long-term future of a timezone, because the future cannot be summarized as
an extended POSIX TZ string. For example, as of 2013 this problem
occurs for Iran's daylight-saving rules for the predicted future, as
these rules are based on the Iranian calendar, which cannot be
@@ -362,9 +366,9 @@ Zone Asia/Amman 2:00 Jordan EE%sT 2017 Oct 27 01:00
The fields that make up a zone line are:
.TP "\w'UTOFF'u"
.B NAME
-The name of the time zone.
+The name of the timezone.
This is the name used in creating the time conversion information file for the
-zone.
+timezone.
It should not contain a file name component
.q ".\&"
or
@@ -373,7 +377,7 @@ a file name component is a maximal substring that does not contain
.q "/" .
.TP
.B UTOFF
-The amount of time to add to UT to get standard time in this zone.
+The amount of time to add to UT to get standard time.
This field has the same format as the
.B AT
and
@@ -382,18 +386,18 @@ fields of rule lines;
begin the field with a minus sign if time must be subtracted from UT.
.TP
.B RULES
-The name of the rules that apply in the time zone or,
+The name of the rules that apply in the timezone or,
alternatively, a field in the same format as a rule-line SAVE column,
giving of the amount of time to be added to local standard time
effect, and whether the resulting time is standard or daylight saving.
If this field is
.B \*-
-then standard time always applies in the time zone.
+then standard time always applies.
When an amount of time is given, only the sum of standard time and
this amount matters.
.TP
.B FORMAT
-The format for time zone abbreviations in this time zone.
+The format for time zone abbreviations.
The pair of characters
.B %s
is used to show where the
@@ -556,7 +560,7 @@ Link Europe/Zurich Europe/Vaduz
.sp
.in
.fi
-In this example, the zone is named Europe/Zurich but it has an alias
+In this example, the timezone is named Europe/Zurich but it has an alias
as Europe/Vaduz. This example says that Zurich was 34 minutes and 8
seconds east of UT until 1853-07-16 at 00:00, when the legal offset
was changed to 7\(de\|26\(fm\|22.50\(sd; although this works out to
@@ -580,16 +584,16 @@ For purposes of display,
and
.q "BMT"
were initially used, respectively. Since
-Swiss rules and later EU rules were applied, the display name for the
-time zone has been CET for standard time and CEST for daylight saving
+Swiss rules and later EU rules were applied, the time zone abbreviation
+has been CET for standard time and CEST for daylight saving
time.
.SH FILES
.TP
.I /etc/localtime
-Default local time zone file.
+Default local timezone file.
.TP
.I /usr/share/zoneinfo
-Default time zone information directory.
+Default timezone information directory.
.SH NOTES
For areas with more than two types of local time,
you may need to use local standard time in the
@@ -598,7 +602,7 @@ field of the earliest transition time's rule to ensure that
the earliest transition time recorded in the compiled file is correct.
.PP
If,
-for a particular zone,
+for a particular timezone,
a clock advance caused by the start of daylight saving
coincides with and is equal to
a clock retreat caused by a change in UT offset,
diff --git a/zone.tab b/zone.tab
index bb56fa1..dcb6e1d 100644
--- a/zone.tab
+++ b/zone.tab
@@ -1,9 +1,9 @@
-# tz zone descriptions (deprecated version)
+# tzdb timezone descriptions (deprecated version)
#
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
#
-# From Paul Eggert (2014-07-31):
+# From Paul Eggert (2018-06-27):
# This file is intended as a backward-compatibility aid for older programs.
# New programs should use zone1970.tab. This file is like zone1970.tab (see
# zone1970.tab's comments), but with the following additional restrictions:
@@ -12,13 +12,13 @@
# 2. The first data column contains exactly one country code.
#
# Because of (2), each row stands for an area that is the intersection
-# of a region identified by a country code and of a zone where civil
+# of a region identified by a country code and of a timezone where civil
# clocks have agreed since 1970; this is a narrower definition than
# that of zone1970.tab.
#
-# This table is intended as an aid for users, to help them select time
-# zone data entries appropriate for their practical needs. It is not
-# intended to take or endorse any position on legal or territorial claims.
+# This table is intended as an aid for users, to help them select timezones
+# appropriate for their practical needs. It is not intended to take or
+# endorse any position on legal or territorial claims.
#
#country-
#code coordinates TZ comments
diff --git a/zone1970.tab b/zone1970.tab
index 9d6d4fa..7c86fb6 100644
--- a/zone1970.tab
+++ b/zone1970.tab
@@ -1,35 +1,35 @@
-# tz zone descriptions
+# tzdb timezone descriptions
#
# This file is in the public domain.
#
-# From Paul Eggert (2017-10-01):
-# This file contains a table where each row stands for a zone where
+# From Paul Eggert (2018-06-27):
+# This file contains a table where each row stands for a timezone where
# civil timestamps have agreed since 1970. Columns are separated by
# a single tab. Lines beginning with '#' are comments. All text uses
# UTF-8 encoding. The columns of the table are as follows:
#
-# 1. The countries that overlap the zone, as a comma-separated list
+# 1. The countries that overlap the timezone, as a comma-separated list
# of ISO 3166 2-character country codes. See the file 'iso3166.tab'.
-# 2. Latitude and longitude of the zone's principal location
+# 2. Latitude and longitude of the timezone'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.
-# Please see the theory.html file for how zone names are chosen.
-# If multiple zones overlap a country, each has a row in the
+# 3. Timezone name used in value of TZ environment variable.
+# Please see the theory.html file for how these names are chosen.
+# If multiple timezones overlap a country, each has a row in the
# table, with each column 1 containing the country code.
-# 4. Comments; present if and only if a country has multiple zones.
+# 4. Comments; present if and only if a country has multiple timezones.
#
-# If a zone covers multiple countries, the most-populous city is used,
+# If a timezone covers multiple countries, the most-populous city is used,
# and that country is listed first in column 1; any other countries
# are listed alphabetically by country code. The table is sorted
# first by country code, then (if possible) by 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).
+# most populous timezones first, where that does not contradict (1).
#
-# This table is intended as an aid for users, to help them select time
-# zone data entries appropriate for their practical needs. It is not
-# intended to take or endorse any position on legal or territorial claims.
+# This table is intended as an aid for users, to help them select timezones
+# appropriate for their practical needs. It is not intended to take or
+# endorse any position on legal or territorial claims.
#
#country-
#codes coordinates TZ comments
--
2.7.4