Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

Absolute time supposedly reports the "total number of seconds" between two dates, but it does not. For example because of the leap second applied at 2012-06-30T23:59:60Z

AbsoluteTime[{2012, 7, 1}] - AbsoluteTime[{2012, 6, 29}]

should be 172,801, but it is 172,800. In fact, Mathematica seems to ignore leap seconds altogether:

DateList[{2012, 6, 30, 23, 59, 60.5}, TimeZone -> 0]

produces {2012, 7, 1, 5, 0, 0.5} when it should produce {2012, 6, 30, 23, 59, 60.5}.

Am I missing something here? How are calculations and functions, such as AstronomicalData that depend on accurate time specifications supposed to work?


Update: This remains the case in version 9.0.

share|improve this question
3  
Note that I'd be happy (well, a bit unhappy actually) with an answer that simply clarified Mathematica's concept of a "time". For example, it seems that by "time", it really means "calendar date including hours, minutes, and seconds", so that AbsoluteTime is a bit of a misnomer: it's really "DifferenceBetweenCalendarDatesConvertedToSeconds". –  raxacoricofallapatorius Nov 22 '12 at 18:30
2  
This is known to be a deficiency for a lot of years. I think it will not be changed. –  Rolf Mertig Nov 22 '12 at 20:08
3  
@RolfMertig: So it's easy enough then (I think) to see one implication of this for AstronomicalData: leap seconds are ignored and time is just ticking away according to a uniform clock, but not UTC, so that the data reported by AstronomicalData for a given (*Mathematica) "date" will actually be the data for a different UTC date (what the world outside *Mathematica *means by "date") some seconds away. But that leaves the question: which date? –  raxacoricofallapatorius Nov 22 '12 at 20:53
add comment

1 Answer 1

The U.S. Naval Observatory keeps a list of when leap seconds have been added and I think it has been at a stable URL for a while: http://maia.usno.navy.mil/ser7/tai-utc.dat

You could use this if you need to know when seconds were added. I wrote a solar position routine, and used this for a while, but I changed it to use an output file from their MICA software, which has a closer interpolation routine for a better approximation to solar time for the present and immediate future. Their algorithm and data are upgraded regularly, if you don't need the interpolation for current estimate, the data set above should be adequate to give you the history of when leap seconds were added.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.