J William Piggott | 2 Feb 18:10 2016

[tz] Contribution Status


As a new contributor to the Time Zone Database, I'd like to know
if there is a way to ascertain the status of a submission?

Specifically are the following queued for review, under review,
rejected ... or?


I ask because I have more work to submit, but I do not want to
continue stacking patch sets on top of rejected sets.

Thank you,

Paul Eggert | 28 Jan 01:34 2016

[tz] [tz-announce] 2016a release of tz code and data available

The 2016a release of the tz code and data is available.  It reflects the 
following changes, which were either circulated on the tz mailing list 
or are relatively minor technical or administrative changes:

   Changes affecting future time stamps

     America/Cayman will not observe daylight saving this year after all.
     Revert our guess that it would.  (Thanks to Matt Johnson.)

     Asia/Chita switches from +0800 to +0900 on 2016-03-27 at 02:00.
     (Thanks to Alexander Krivenyshev.)

     Asia/Tehran now has DST predictions for the year 2038 and later,
     to be March 21 00:00 to September 21 00:00.  This is likely better
     than predicting no DST, albeit off by a day every now and then.

   Changes affecting past and future time stamps

     America/Metlakatla switched from PST all year to AKST/AKDT on
     2015-11-01 at 02:00.  (Thanks to Steffen Thorsen.)

     America/Santa_Isabel has been removed, and replaced with a
     backward compatibility link to America/Tijuana.  Its contents were
     apparently based on a misreading of Mexican legislation.

   Changes affecting past time stamps

     Asia/Karachi's two transition times in 2002 were off by a minute.
     (Thanks to Matt Johnson.)

(Continue reading)

J William Piggott | 24 Jan 01:43 2016

[tz] [PATCH 0/4] checktab.awk and zone tabs

This patch set applies on top of the two sets I posted on Jan 20 2016
with Subject:
[PATCH 0/5] tzselect.ksh
[PATCH 1/3] zone*.tab: make consistent 'most locations'

Paul, I just noticed I used the wrong style commit messages on the first
to sets. If you'd like me to fix them and resubmit V2, just let me know.

J William Piggott (4):
  checktab.awk: fix comment (field 4) checks
  checktab.awk: don't repeat missing comment errors
  zone1970.tab: update column 4 definition
  Remove unneeded zone tab comments

 NEWS         |  8 ++++++++
 checktab.awk |  8 +++++++-
 zone.tab     | 20 ++++++++++----------
 zone1970.tab | 21 +++++++++++----------
 4 files changed, 36 insertions(+), 21 deletions(-)


All of the patch sets are from the same branch of my github account here
is the request-pull output:

The following changes since commit 9e588f4c0bc2a1861c923aaa7760ebc7b024d885:

  Cite Ogle's 2015 book on history of civil time (2016-01-11 16:21:15 -0800)

(Continue reading)

J William Piggott | 20 Jan 21:17 2016

[tz] [PATCH 0/5] tzselect.ksh

In the process of writing a tzselect style application which
uses a dialog UI, I discovered some bugs and other issues with
tzselect and the support files it uses (zone*.tab). I split
the patches into two sets to address the issues. The second
set is for the zone*.tab files and have a subject line like:
[PATCH 1/3] zone*.tab: ...

J William Piggott (5):
  tzselect.ksh: TZ validation bugs
  tzselect.ksh: regions list to inclusive
  tzselect.ksh: sort regions list
  tzselect.ksh: time scales assumed
  tzselect.ksh: add script mode option

 tzselect.ksh | 47 ++++++++++++++++++++++++++++++-----------------
 1 file changed, 30 insertions(+), 17 deletions(-)


 They are also available from my github account. Both patch
 sets are from the same branch. Here is the request-pull

The following changes since commit 9e588f4c0bc2a1861c923aaa7760ebc7b024d885:

  Cite Ogle's 2015 book on history of civil time (2016-01-11 16:21:15 -0800)

are available in the git repository at:
(Continue reading)

J William Piggott | 20 Jan 17:54 2016

[tz] [PATCH 1/3] zone*.tab: make consistent 'most locations'

modified:   zone.tab
modified:   zone1970.tab

The comments (field 4) inconsistently use leading area
names. This causes tzselect's output to be mixed:

Please select one of the following time zone regions.
1) Buenos Aires (BA, CF)
2) most locations (CB, CC, CN, ER, FM, MN, SE, SF)

Please select one of the following time zone regions.
1) Lord Howe Island
2) Macquarie Island
3) Tasmania - most locations

The leading name is absent from entries when it would
match the chosen country, but sometimes the chosen
country is no longer visible. Including the country name
doesn't hurt anything and it improves readability.

Signed-off-by: J William Piggott <elseifthen <at> gmx.com>
 zone.tab     | 22 +++++++++++-----------
 zone1970.tab | 22 +++++++++++-----------
 2 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/zone.tab b/zone.tab
index d267f5b..2fd7953 100644
--- a/zone.tab
(Continue reading)

J William Piggott | 20 Jan 17:32 2016

[tz] [PATCH 1/5] tzselect.ksh: TZ validation bugs

This commit fixes the following POSIX TZ validation
bugs in tzselect.ksh.

Did not allow:
TZ name quoting (<, >): TZ="<EST+5>5"

TZ name == Non-alpha characters: TZ="E!T5"
Time > 24 hours
Julian date == J0
Julian date > J365
Julian date > 365
Month date > M12.x.x
Month date > Mx.5.x
Month date > Mx.x.6
Month date < M1.x.x
Month date < Mx.1.x

Signed-off-by: J William Piggott <elseifthen <at> gmx.com>
 tzselect.ksh | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/tzselect.ksh b/tzselect.ksh
index df5621f..10570b6 100644
--- a/tzselect.ksh
+++ b/tzselect.ksh
 <at>  <at>  -346,11 +346,14  <at>  <at>  while
 				'that is 10 hours ahead (east) of UTC.'
 			read TZ
(Continue reading)

Paul Eggert | 18 Jan 08:14 2016

[tz] If you lie about the time zone, your iPhone will have its revenge

iPhone 6s and iPhone 6s Plus users are reporting that their phones are sometimes 
showing plenty of charge left even though their batteries are actually depleted, 
leaving some users stranded out of power. Apparently users who change their time 
(e.g., to gain unfair advantage in games like Candy Crush Saga) can confuse iOS 
9.2 into not updating the battery percentage indicator. A similar problem can 
occur to users who set the time zone manually. One workaround is to reboot and 
revert to getting date and time from the network.


Smith J. iPhone 6s battery bug leaves users longing for iOS 9.3. 
GottaBeMobile.com 2016-01-17. 

Arthur David Olson | 18 Jan 05:00 2016

[tz] tz-art.htm: The Good Wife

    <at> dashdashado

*** /tmp/,atz-art.htm    2016-01-17 22:55:53.832841200 -0500
--- /tmp/,btz-art.htm    2016-01-17 22:55:53.951096000 -0500
*** 274,279 ****
--- 274,288 ----
  savings days. Lousy farmers."</td></tr>
+ <tr><td>TV episode title</td><td>Tracks</td></tr>
+ <tr><td>TV series</td><td><em>The Good Wife</em></td></tr>
+ <tr><td>TV episode number</td><td>12, season 7</td></tr>
+ <tr><td>Network</td><td>CBS</td></tr>
+ <tr><td>Air date</td><td>2016-01-17</td></tr>
+ <tr><td>Notes</td><td>The applicability of a contract hinges on the
+ time zone associated with a video time stamp.</td></tr>
+ <tr><td>&nbsp;</td></tr>
  <tr><td>Artist</td><td>Jules Verne</td></tr>
  <tr><td>Book</td><td><em>Around the World in Eighty Days</em>
  (<em>Le tour du monde en quatre-vingts jours</em>)</td></tr>
Paul Eggert | 15 Jan 02:45 2016

Re: [tz] tzcode test suite

On 01/14/2016 10:18 AM, Steve Summit wrote:
>> >* Would you mind if we changed "if(" to "if (" ...
> Not at all.  (Not my style, but I truly don't care.)

OK, thanks, attached are a few followup patches. The first adjusts white 
space, the second fixes a glitch I introduced earlier.

The test cases still fail, though. I wonder why they fail for me and not 
for you?

Some more things I noticed.

testsuite.c assumes time_t is equivalent to long, by using the %ld 
printf format to print it. That's not portable. time_t might have a 
different width from long, and time_t might be unsigned. zdump.c's 
tformat function gets it right.

Adding 1900 to tm_year can overflow, if tm_year is close to INT_MAX. 
quick_timegm is full of gotchas like that. As it's not needed and is 
likely to have bugs in testing, how about if we remove it? This is in 
the 3rd attached patch.

The remaining uses of isleap have a similar problem. It would be better 
to use isleap_sum; see tzfile.h.
Steve Summit | 14 Jan 02:37 2016

[tz] tzcode test suite

I've been doing some surgery on localtime.c (perhaps more on
that later), and to check my work I felt the need for a decent
gmtime/localtime/mktime test suite.  I'm sure such a thing has
been written numbers of times before, and there may be some
reason not to have one in the tzcode distribution, but if not,
I'd like to donate this one for inclusion.

It runs in two modes, one driven by a script containing (in
effect) a list of known-good (time_t, struct tm) pairs, and
another which exhaustively runs a potentially very large set
of synthesized tests over a specified range.

The script contains lines such as

	gmtime      1234567890   2009-02-13 23:31:30
	tz America/New_York
	localtime    483811200   1985-05-01 12:00:00   z=EDT o=-14400 dst=1

which are used to drive reciprocal pairs of tests on
gmtime/timegm or localtime/mktime, in a reasonably obvious way.
A line like the first one tests both that gmtime(1234567890)
gives 2009-02-13, and also that timegm on 2009-02-13 23:31:30
gives 1234567890.

There are keywords for setting the expected output values for
zone, offset, and DST flag (as shown).  There are also additional
keywords to set the expected values of tm_wday and tm_yday.
(See the attached test script for more examples.)

I'm also enclosing a patch to the tzcode Makefile to add a
"make tests" target, building and appropriately invoking this

At the moment this tool tests only localtime, gmtime, mktime,
and timegm.  It would make sense to have coverage of ctime and
strftime, too, which would be straightforward enough to add.

Note that the zone names in the attached 'testcases' script match
those built by the stock tzdata distribution, but not necessarily
those installed on the machine where you may be trying to run this.

See the long comment at the top of testsuite.c for additional


Steve Summit
scs <at> eskimo.com
Attachment (testsuite.tar.gz): application/octet-stream, 58 KiB
Paul Eggert | 13 Jan 20:38 2016

[tz] Opposition to Cayman DST

Currently tzdata is guessing that Cayman will introduce daylight saving 
time this year. This is not official, though. There is opposition in the 
Legislative Assembly, and if the LA rejects it we will need to update 

Ragoonath R. Gov’t Daylight Savings Time plans to get resistance in LA. 
Cayman Reporter 2016-01-08.