Poul-Henning Kamp wrote:
Some of us have been trying to drive this point though for some time:
99.99% of all programmers have no idea what a leap-second is.
And these are the people who program the technology that runs our
The confusion runs deeper than that.
I discovered last year that implementations of Java up to and including
Java 1.3 did not implement the correct daylight saving time rules for
the United Kingdom during the period between 27 October 1968 and 31
October 1971 when the U.K. kept its clocks permanently one hour ahead of
GMT and called this British Standard Time.
The daylight saving time rules were implemented as little more than a
blanket "starts on the last Sunday in March, ends on the last Sunday in
October" prescription, with no provision for irregularities such as
As a result, Java programs would assume that the U.K. was keeping GMT
during the winter months of 1968/9, 1969/70 and 1970/1 when in fact the
clocks were an hour ahead.
This error was fixed in Java 1.4, when a rather more sophisticated
mechanism was added for handling daylight saving time rules, based upon
the Unix "zoneinfo" database, which does know about the irregularities
When even Sun Microsystems can make this kind of mistake, with all of
the resources at its disposal, Joe or Jane Programmer working for a
small company can be forgiven for not being familiar with the arcane
world of leap seconds. There are, after all, only 102 of us on this
mailing list :-)
Dr David Harper
Wellcome Trust Sanger Institute, Hinxton, Cambridge CB10 1SA, England
Tel: 01223 834244 Fax: 494919 http://www.sanger.ac.uk/Users/adh/