time-1.2.0.3: A time library

Data.Time.Clock.TAI

Description

TAI and leap-second tables for converting to UTC: most people won't need this module.

Synopsis

- data AbsoluteTime
- taiEpoch :: AbsoluteTime
- addAbsoluteTime :: DiffTime -> AbsoluteTime -> AbsoluteTime
- diffAbsoluteTime :: AbsoluteTime -> AbsoluteTime -> DiffTime
- type LeapSecondTable = Day -> Integer
- utcDayLength :: LeapSecondTable -> Day -> DiffTime
- utcToTAITime :: LeapSecondTable -> UTCTime -> AbsoluteTime
- taiToUTCTime :: LeapSecondTable -> AbsoluteTime -> UTCTime
- parseTAIUTCDATFile :: String -> LeapSecondTable

# Documentation

data AbsoluteTime

AbsoluteTime is TAI, time as measured by a clock.

Instances

Eq AbsoluteTime |
Data AbsoluteTime |
Ord AbsoluteTime |
Show AbsoluteTime |
Typeable AbsoluteTime |

taiEpoch :: AbsoluteTime

The epoch of TAI, which is 1858-11-17 00:00:00 TAI.

addAbsoluteTime :: DiffTime -> AbsoluteTime -> AbsoluteTime

addAbsoluteTime a b = a + b

diffAbsoluteTime :: AbsoluteTime -> AbsoluteTime -> DiffTime

diffAbsoluteTime a b = a - b

type LeapSecondTable = Day -> Integer

TAI - UTC during this day. No table is provided, as any program compiled with it would become out of date in six months.

utcDayLength :: LeapSecondTable -> Day -> DiffTime

utcToTAITime :: LeapSecondTable -> UTCTime -> AbsoluteTime

taiToUTCTime :: LeapSecondTable -> AbsoluteTime -> UTCTime

parseTAIUTCDATFile :: String -> LeapSecondTable

Parse the contents of a tai-utc.dat file. This does not do any kind of validation and will return a bad table for input not in the correct format.