lib/Data/Time/Clock/Internal/UniversalTime.hs

    module Data.Time.Clock.Internal.UniversalTime
        (
        -- * Universal Time
        -- | Time as measured by the Earth.
        UniversalTime(..),
        ) where

    import Data.Typeable
    import Data.Data
    import Control.DeepSeq

    -- | The Modified Julian Date is the day with the fraction of the day, measured from UT midnight.
    -- It's used to represent UT1, which is time as measured by the earth's rotation, adjusted for various wobbles.
    newtype UniversalTime = ModJulianDate {getModJulianDate :: Rational} deriving (Eq,Ord,Data, Typeable)

    -- necessary because H98 doesn't have "cunning newtype" derivation
    instance NFData UniversalTime where
        rnf (ModJulianDate a) = rnf a