time-hourglass
Copyright(c) 2014 Vincent Hanquez <vincent@snarc.org>
LicenseBSD-style
Stabilityexperimental
Portabilityunknown
Safe HaskellNone
LanguageHaskell2010

Time.Epoch

Description

Types, type classes and functions related to epochs.

Synopsis

Elapsed time from epochs

newtype ElapsedSince epoch Source #

A type representing the number of non-leap seconds that have elapsed since the specified epoch.

Constructors

ElapsedSince Seconds 

Instances

Instances details
NFData (ElapsedSince epoch) Source # 
Instance details

Defined in Time.Epoch

Methods

rnf :: ElapsedSince epoch -> ()

Data epoch => Data (ElapsedSince epoch) Source # 
Instance details

Defined in Time.Epoch

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ElapsedSince epoch -> c (ElapsedSince epoch)

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ElapsedSince epoch)

toConstr :: ElapsedSince epoch -> Constr

dataTypeOf :: ElapsedSince epoch -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (ElapsedSince epoch))

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ElapsedSince epoch))

gmapT :: (forall b. Data b => b -> b) -> ElapsedSince epoch -> ElapsedSince epoch

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ElapsedSince epoch -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ElapsedSince epoch -> r

gmapQ :: (forall d. Data d => d -> u) -> ElapsedSince epoch -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> ElapsedSince epoch -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ElapsedSince epoch -> m (ElapsedSince epoch)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ElapsedSince epoch -> m (ElapsedSince epoch)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ElapsedSince epoch -> m (ElapsedSince epoch)

Num (ElapsedSince epoch) Source # 
Instance details

Defined in Time.Epoch

Methods

(+) :: ElapsedSince epoch -> ElapsedSince epoch -> ElapsedSince epoch

(-) :: ElapsedSince epoch -> ElapsedSince epoch -> ElapsedSince epoch

(*) :: ElapsedSince epoch -> ElapsedSince epoch -> ElapsedSince epoch

negate :: ElapsedSince epoch -> ElapsedSince epoch

abs :: ElapsedSince epoch -> ElapsedSince epoch

signum :: ElapsedSince epoch -> ElapsedSince epoch

fromInteger :: Integer -> ElapsedSince epoch

Read (ElapsedSince epoch) Source # 
Instance details

Defined in Time.Epoch

Methods

readsPrec :: Int -> ReadS (ElapsedSince epoch)

readList :: ReadS [ElapsedSince epoch]

readPrec :: ReadPrec (ElapsedSince epoch)

readListPrec :: ReadPrec [ElapsedSince epoch]

Show (ElapsedSince epoch) Source # 
Instance details

Defined in Time.Epoch

Methods

showsPrec :: Int -> ElapsedSince epoch -> ShowS

show :: ElapsedSince epoch -> String

showList :: [ElapsedSince epoch] -> ShowS

Eq (ElapsedSince epoch) Source # 
Instance details

Defined in Time.Epoch

Methods

(==) :: ElapsedSince epoch -> ElapsedSince epoch -> Bool

(/=) :: ElapsedSince epoch -> ElapsedSince epoch -> Bool

Ord (ElapsedSince epoch) Source # 
Instance details

Defined in Time.Epoch

Methods

compare :: ElapsedSince epoch -> ElapsedSince epoch -> Ordering

(<) :: ElapsedSince epoch -> ElapsedSince epoch -> Bool

(<=) :: ElapsedSince epoch -> ElapsedSince epoch -> Bool

(>) :: ElapsedSince epoch -> ElapsedSince epoch -> Bool

(>=) :: ElapsedSince epoch -> ElapsedSince epoch -> Bool

max :: ElapsedSince epoch -> ElapsedSince epoch -> ElapsedSince epoch

min :: ElapsedSince epoch -> ElapsedSince epoch -> ElapsedSince epoch

Epoch epoch => Time (ElapsedSince epoch) Source # 
Instance details

Defined in Time.Epoch

Epoch epoch => Timeable (ElapsedSince epoch) Source # 
Instance details

Defined in Time.Epoch

data ElapsedSinceP epoch Source #

A type representing the number of non-leap seconds and nanoseconds that have elapsed since the specified epoch. The 'P' is short for 'precise'.

Constructors

ElapsedSinceP !(ElapsedSince epoch) !NanoSeconds 

Instances

Instances details
NFData (ElapsedSinceP e) Source # 
Instance details

Defined in Time.Epoch

Methods

rnf :: ElapsedSinceP e -> ()

Data epoch => Data (ElapsedSinceP epoch) Source # 
Instance details

Defined in Time.Epoch

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ElapsedSinceP epoch -> c (ElapsedSinceP epoch)

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ElapsedSinceP epoch)

toConstr :: ElapsedSinceP epoch -> Constr

dataTypeOf :: ElapsedSinceP epoch -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (ElapsedSinceP epoch))

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ElapsedSinceP epoch))

gmapT :: (forall b. Data b => b -> b) -> ElapsedSinceP epoch -> ElapsedSinceP epoch

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ElapsedSinceP epoch -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ElapsedSinceP epoch -> r

gmapQ :: (forall d. Data d => d -> u) -> ElapsedSinceP epoch -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> ElapsedSinceP epoch -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ElapsedSinceP epoch -> m (ElapsedSinceP epoch)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ElapsedSinceP epoch -> m (ElapsedSinceP epoch)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ElapsedSinceP epoch -> m (ElapsedSinceP epoch)

Num (ElapsedSinceP e) Source # 
Instance details

Defined in Time.Epoch

Read (ElapsedSinceP epoch) Source # 
Instance details

Defined in Time.Epoch

Methods

readsPrec :: Int -> ReadS (ElapsedSinceP epoch)

readList :: ReadS [ElapsedSinceP epoch]

readPrec :: ReadPrec (ElapsedSinceP epoch)

readListPrec :: ReadPrec [ElapsedSinceP epoch]

Real (ElapsedSinceP e) Source # 
Instance details

Defined in Time.Epoch

Methods

toRational :: ElapsedSinceP e -> Rational

Show (ElapsedSinceP epoch) Source # 
Instance details

Defined in Time.Epoch

Methods

showsPrec :: Int -> ElapsedSinceP epoch -> ShowS

show :: ElapsedSinceP epoch -> String

showList :: [ElapsedSinceP epoch] -> ShowS

Eq (ElapsedSinceP epoch) Source # 
Instance details

Defined in Time.Epoch

Methods

(==) :: ElapsedSinceP epoch -> ElapsedSinceP epoch -> Bool

(/=) :: ElapsedSinceP epoch -> ElapsedSinceP epoch -> Bool

Ord (ElapsedSinceP epoch) Source # 
Instance details

Defined in Time.Epoch

Methods

compare :: ElapsedSinceP epoch -> ElapsedSinceP epoch -> Ordering

(<) :: ElapsedSinceP epoch -> ElapsedSinceP epoch -> Bool

(<=) :: ElapsedSinceP epoch -> ElapsedSinceP epoch -> Bool

(>) :: ElapsedSinceP epoch -> ElapsedSinceP epoch -> Bool

(>=) :: ElapsedSinceP epoch -> ElapsedSinceP epoch -> Bool

max :: ElapsedSinceP epoch -> ElapsedSinceP epoch -> ElapsedSinceP epoch

min :: ElapsedSinceP epoch -> ElapsedSinceP epoch -> ElapsedSinceP epoch

Epoch epoch => Time (ElapsedSinceP epoch) Source # 
Instance details

Defined in Time.Epoch

Epoch epoch => Timeable (ElapsedSinceP epoch) Source # 
Instance details

Defined in Time.Epoch

Epoch

class Epoch epoch where Source #

A type class promising epoch-related functionality. (Epochs, in this context, are fixed points in time.)

Methods

epochName :: epoch -> String Source #

The name of the epoch.

epochDiffToUnix :: epoch -> Seconds Source #

The epoch relative to the Unix epoch (1970-01-01 00:00:00 UTC), in non-leap seconds. A negative number means the epoch is before the Unix epoch.

Instances

Instances details
Epoch MJDEpoch Source # 
Instance details

Defined in Time.Epoch

Epoch UnixEpoch Source # 
Instance details

Defined in Time.Epoch

Epoch WindowsEpoch Source # 
Instance details

Defined in Time.Epoch

Commonly-encountered epochs

data UnixEpoch Source #

A type representing the Unix epoch (the point in time represented by 1970-01-01 00:00:00 UTC).

Constructors

UnixEpoch 

Instances

Instances details
Show UnixEpoch Source # 
Instance details

Defined in Time.Epoch

Methods

showsPrec :: Int -> UnixEpoch -> ShowS

show :: UnixEpoch -> String

showList :: [UnixEpoch] -> ShowS

Eq UnixEpoch Source # 
Instance details

Defined in Time.Epoch

Methods

(==) :: UnixEpoch -> UnixEpoch -> Bool

(/=) :: UnixEpoch -> UnixEpoch -> Bool

Epoch UnixEpoch Source # 
Instance details

Defined in Time.Epoch

data WindowsEpoch Source #

A type representing the Windows epoch, (the point in time represented by 1601-01-01 00:00:00 UTC).

Constructors

WindowsEpoch 

Instances

Instances details
Show WindowsEpoch Source # 
Instance details

Defined in Time.Epoch

Methods

showsPrec :: Int -> WindowsEpoch -> ShowS

show :: WindowsEpoch -> String

showList :: [WindowsEpoch] -> ShowS

Eq WindowsEpoch Source # 
Instance details

Defined in Time.Epoch

Methods

(==) :: WindowsEpoch -> WindowsEpoch -> Bool

(/=) :: WindowsEpoch -> WindowsEpoch -> Bool

Epoch WindowsEpoch Source # 
Instance details

Defined in Time.Epoch

data MJDEpoch Source #

A type representing the Modified Julian Date (MJD) epoch (the point in time represented by 1858-11-17 00:00:00 UTC).

Constructors

MJDEpoch 

Instances

Instances details
Show MJDEpoch Source # 
Instance details

Defined in Time.Epoch

Methods

showsPrec :: Int -> MJDEpoch -> ShowS

show :: MJDEpoch -> String

showList :: [MJDEpoch] -> ShowS

Eq MJDEpoch Source # 
Instance details

Defined in Time.Epoch

Methods

(==) :: MJDEpoch -> MJDEpoch -> Bool

(/=) :: MJDEpoch -> MJDEpoch -> Bool

Epoch MJDEpoch Source # 
Instance details

Defined in Time.Epoch