On 2011-01-28 18:34, Gerard Ashton asked:

 Windows and Unix have general reputations of not doing it right; does
 anyone know of a hardware/operating system combination that handles leap
 seconds correctly? If so, does it have a defined approach to providing a
 quasi-UTC that hides leap seconds to applications that wish to live in
 blissful ignorance?

   No, I do not know where it is done "correctly" -- I just know some
   programming languages where datetimes and time scales are modelled
   in other ways than in the JSR-310 proposal. Let me just mention two.

   Take ADA95, for example. The language accepts the existence of
   various independent time scales, that is, physical quantities that
   all take their values in the same space of datetimes. That space
   provides the operations of an affine space over the one-dimensional
   vector space of times, with units s, min, h, d, etc.
   Datetimes values can be denoted using calendars or with affine
   units such as Julian dates or Besselina epochs.

   Whether values of one time scale can be converted (in whatever
   sense) to values of another time scale is not imposed by the
   interface. Some time scales can be converted exactly (eg, TCG to
   TT), some exactly only for past epochs (eg, UTC and TAI), some
   only approximately, even for the past (eg, TT to TAI).

   ADA95 also recognizes the fact that it is sometimes needed
   to add additional information to a datetime value: viz, the
   information that the datetime value occurs twice in a non-monotone
   time scale. This is needed to order such amended datetime values
   in the case of leap seconds, and in the case of civil time scales
   while they switch from summer time to winter time. Other additional
   operations on these values comprise better conversions to other
   time scales, eg, unambiguous conversion from UTC to TAI, or from
   civil time to UTC with the help of a zic file.

   SQL provides datetime values with an additional offset so that
   they comprise both a local time scale and a UTC value. This is
   another form of amended datetime values that is important in
   applications. It can also model a UTC time stamp with known
   offset to TAI. This amendment is independent of the previous
   one, so that I would expect a complete support to provide datetime
   types with both amendments, too.

   I have left out all the gory details and I hope this comment is
   still not too abstract.

   Michael Deckers.
_______________________________________________
LEAPSECS mailing list
LEAPSECS@leapsecond.com
http://six.pairlist.net/mailman/listinfo/leapsecs

Reply via email to