[LEAPSECS] Java: ThreeTen/JSR-310

Stephen Colebourne scolebourne at joda.org
Fri Jan 28 14:26:15 EST 2011


On 28 January 2011 18:34, Steve Allen <sla at ucolick.org> wrote:

> On Fri 2011-01-28T18:03:07 +0000, Stephen Colebourne hath writ:

>> JSR-310 addresses the definition of 1970-01-01Z (by defining the

>> TAI-UTC gap as fixed at 10 seconds prior to 1972.

>

> This is pointless silliness.  This is defining a time scale which did

> not exist and presuming that it can be used for something practical.

> It cannot.

>

> For any precision purposes TAI and UTC did not exist before

> 1972-01-01.  TAI only got its name in 1971, and the only way to access

> it prior to 1972-01-01 was by painstaking tabular lookup of the

> offsets of the time signal used for a time stamp.

>

> Until that instant the UTC being broadcast by the Soviet Union (and

> other stations) differed from other broadcasts by milliseconds.  I can

> go over to the library and find the BIH Circular with the exact

> number, but it was not small.

>

> Before 1972 the only practically available time scales were nebulously

> synchronized versions of UT.  Those are measures of earth rotation,

> suitable for subdividing the days of the calendar.  Presuming that

> they are suitable for any other purpose, or defining a general-purpose

> scheme to make use of them for precision purposes, is a mistake.

>

> All proleptic time scales are dangerous, for in the absence of a

> contemporary authority to define what they were, any one

> interpretation is likely to differ from another.


Yep, its pointless. But also essential.

In the same way, JSR-310 allows you to define an instant at nanosecond
precision beyond the age of the universe. Pointeless, but essential.

The decisions taken for a *usable* software library are going to be
different from those taken for detailed scientific applications.

This definition means that, if anyone happens to ask, JSR-310 can
clearly state what the meaning of any point in time actually is in the
past. Now, that doesn't mean that the definition needs to correspond
with historical reality of whether TAI/UTC actually meant that or not
pre-1972. It just has to be defined clearly enough to be defined.

I'm not expecting this group to like the definition, just to
understand why its necessary, Of course, it might be that some
additional clarification text is needed, but a Java developer doesn't
really want a treatise on the historical messiness of time!

Stephen


More information about the LEAPSECS mailing list