overflow in TimeComponents extraction
When using the constructor TimeComponents(final int secondInDayA, final
the computation of the components can overflow.
This happens with the following code snippet, which repesents a date during a leap second:
AbsoluteDate t0 = new AbsoluteDate(2012, 6, 30, 23, 59, 50.0, utc); DateTimeComponents components = t0.shiftedBy(11.0 - 200 * Precision.EPSILON).getComponents(utc);
The problem is linked to the computation of secondInDayA + secondInDayB
when secondInDayA is
quite large (in this case 86399) and secondInDayB is just below an integer (here 1.0 - 200ε).
The tiny 200ε disappears when the sum is computed, so the hour wraps around 24h.
(from redmine: issue id 148, created on 2013-09-30, closed on 2013-09-30)