This module is intended to provide a quick-and-dirty leap second solution
for one-off analyses concerned only with the past and present (i.e. up
until the next as of yet unannounced leap second), or for applications
which can afford to be recompiled against an updated library as often
as every six months.
Usage
Import Data.Time.Clock.AnnouncedLeapSeconds to bring the leap
second table lst into scope. Here is a usage example:
import Data.Time
import Data.Time.Clock.TAI
import Data.Time.Clock.AnnouncedLeapSeconds
-- | Convert from UTC to TAI.
utcToTAITime' = utcToTAITime lst
-- | Convert from TAI to UTC.
taiToUTCTime' = taiToUTCTime lst
-- | Add a length of time to a UTC time, respecting leap seconds
-- (as opposed to Data.Time.Clock.addUTCTime).
addUTCTime' :: DiffTime -> UTCTime -> UTCTime
addUTCTime' dt = taiToUTCTime' . addAbsoluteTime dt . utcToTAITime'
Changes
2015.0.1 (2015-05)
Fix documentation to reflect addition of 2015 leap second.
Hide hypothetical leap seconds (prior to 1972-01-01).
Add test suite to .cabal.
2015 (2015-01)
Added 2015 leap second (2015-06-30T23:59:60Z).
2012 (2012-01)
Added 2012 leap second (2012-06-30T23:59:60Z).
2009 (2009-01)
Initial release including all leap seconds up to 2009-01-01.