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

Time.Types

Description

Time-related types.

In principle, some units could hold infinite values. In practice, Int64 for seconds (about +/- 9e18) and Int for years is sufficient.

Synopsis

Time units

newtype NanoSeconds Source #

Type representing numbers of nanoseconds.

Constructors

NanoSeconds Int64 

Instances

Instances details
NFData NanoSeconds Source # 
Instance details

Defined in Time.Types

Methods

rnf :: NanoSeconds -> ()

Data NanoSeconds Source # 
Instance details

Defined in Time.Types

Methods

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

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

toConstr :: NanoSeconds -> Constr

dataTypeOf :: NanoSeconds -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> NanoSeconds -> NanoSeconds

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

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

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

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

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

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

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

Num NanoSeconds Source # 
Instance details

Defined in Time.Types

Read NanoSeconds Source # 
Instance details

Defined in Time.Types

Methods

readsPrec :: Int -> ReadS NanoSeconds

readList :: ReadS [NanoSeconds]

readPrec :: ReadPrec NanoSeconds

readListPrec :: ReadPrec [NanoSeconds]

Show NanoSeconds Source #

Show the number of nanoseconds followed by ns. (Note: the Read instance is derived.)

Instance details

Defined in Time.Types

Methods

showsPrec :: Int -> NanoSeconds -> ShowS

show :: NanoSeconds -> String

showList :: [NanoSeconds] -> ShowS

Eq NanoSeconds Source # 
Instance details

Defined in Time.Types

Methods

(==) :: NanoSeconds -> NanoSeconds -> Bool

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

Ord NanoSeconds Source # 
Instance details

Defined in Time.Types

TimeInterval NanoSeconds Source # 
Instance details

Defined in Time.Types

newtype Seconds Source #

Type representing numbers of seconds (non-leap or all).

Constructors

Seconds Int64 

Instances

Instances details
NFData Seconds Source # 
Instance details

Defined in Time.Types

Methods

rnf :: Seconds -> ()

Data Seconds Source # 
Instance details

Defined in Time.Types

Methods

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

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

toConstr :: Seconds -> Constr

dataTypeOf :: Seconds -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> Seconds -> Seconds

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

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

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

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

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

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

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

Enum Seconds Source # 
Instance details

Defined in Time.Types

Num Seconds Source # 
Instance details

Defined in Time.Types

Read Seconds Source # 
Instance details

Defined in Time.Types

Methods

readsPrec :: Int -> ReadS Seconds

readList :: ReadS [Seconds]

readPrec :: ReadPrec Seconds

readListPrec :: ReadPrec [Seconds]

Integral Seconds Source # 
Instance details

Defined in Time.Types

Real Seconds Source # 
Instance details

Defined in Time.Types

Methods

toRational :: Seconds -> Rational

Show Seconds Source #

Show the number of seconds followed by s. (Note: the Read instance is derived.)

Instance details

Defined in Time.Types

Methods

showsPrec :: Int -> Seconds -> ShowS

show :: Seconds -> String

showList :: [Seconds] -> ShowS

Eq Seconds Source # 
Instance details

Defined in Time.Types

Methods

(==) :: Seconds -> Seconds -> Bool

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

Ord Seconds Source # 
Instance details

Defined in Time.Types

Methods

compare :: Seconds -> Seconds -> Ordering

(<) :: Seconds -> Seconds -> Bool

(<=) :: Seconds -> Seconds -> Bool

(>) :: Seconds -> Seconds -> Bool

(>=) :: Seconds -> Seconds -> Bool

max :: Seconds -> Seconds -> Seconds

min :: Seconds -> Seconds -> Seconds

TimeInterval Seconds Source # 
Instance details

Defined in Time.Types

newtype Minutes Source #

Type representing numbers of minutes.

Constructors

Minutes Int64 

Instances

Instances details
NFData Minutes Source # 
Instance details

Defined in Time.Types

Methods

rnf :: Minutes -> ()

Data Minutes Source # 
Instance details

Defined in Time.Types

Methods

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

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

toConstr :: Minutes -> Constr

dataTypeOf :: Minutes -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> Minutes -> Minutes

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

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

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

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

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

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

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

Enum Minutes Source # 
Instance details

Defined in Time.Types

Num Minutes Source # 
Instance details

Defined in Time.Types

Read Minutes Source # 
Instance details

Defined in Time.Types

Methods

readsPrec :: Int -> ReadS Minutes

readList :: ReadS [Minutes]

readPrec :: ReadPrec Minutes

readListPrec :: ReadPrec [Minutes]

Integral Minutes Source # 
Instance details

Defined in Time.Types

Real Minutes Source # 
Instance details

Defined in Time.Types

Methods

toRational :: Minutes -> Rational

Show Minutes Source #

Show the number of minutes followed by m. (Note: the Read instance is derived.)

Instance details

Defined in Time.Types

Methods

showsPrec :: Int -> Minutes -> ShowS

show :: Minutes -> String

showList :: [Minutes] -> ShowS

Eq Minutes Source # 
Instance details

Defined in Time.Types

Methods

(==) :: Minutes -> Minutes -> Bool

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

Ord Minutes Source # 
Instance details

Defined in Time.Types

Methods

compare :: Minutes -> Minutes -> Ordering

(<) :: Minutes -> Minutes -> Bool

(<=) :: Minutes -> Minutes -> Bool

(>) :: Minutes -> Minutes -> Bool

(>=) :: Minutes -> Minutes -> Bool

max :: Minutes -> Minutes -> Minutes

min :: Minutes -> Minutes -> Minutes

TimeInterval Minutes Source # 
Instance details

Defined in Time.Types

newtype Hours Source #

Type representing numbers of hours.

Constructors

Hours Int64 

Instances

Instances details
NFData Hours Source # 
Instance details

Defined in Time.Types

Methods

rnf :: Hours -> ()

Data Hours Source # 
Instance details

Defined in Time.Types

Methods

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

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

toConstr :: Hours -> Constr

dataTypeOf :: Hours -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> Hours -> Hours

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

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

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

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

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

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

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

Enum Hours Source # 
Instance details

Defined in Time.Types

Num Hours Source # 
Instance details

Defined in Time.Types

Methods

(+) :: Hours -> Hours -> Hours

(-) :: Hours -> Hours -> Hours

(*) :: Hours -> Hours -> Hours

negate :: Hours -> Hours

abs :: Hours -> Hours

signum :: Hours -> Hours

fromInteger :: Integer -> Hours

Read Hours Source # 
Instance details

Defined in Time.Types

Methods

readsPrec :: Int -> ReadS Hours

readList :: ReadS [Hours]

readPrec :: ReadPrec Hours

readListPrec :: ReadPrec [Hours]

Integral Hours Source # 
Instance details

Defined in Time.Types

Methods

quot :: Hours -> Hours -> Hours

rem :: Hours -> Hours -> Hours

div :: Hours -> Hours -> Hours

mod :: Hours -> Hours -> Hours

quotRem :: Hours -> Hours -> (Hours, Hours)

divMod :: Hours -> Hours -> (Hours, Hours)

toInteger :: Hours -> Integer

Real Hours Source # 
Instance details

Defined in Time.Types

Methods

toRational :: Hours -> Rational

Show Hours Source #

Show the number of hours followed by h. (Note: the Read instance is derived.)

Instance details

Defined in Time.Types

Methods

showsPrec :: Int -> Hours -> ShowS

show :: Hours -> String

showList :: [Hours] -> ShowS

Eq Hours Source # 
Instance details

Defined in Time.Types

Methods

(==) :: Hours -> Hours -> Bool

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

Ord Hours Source # 
Instance details

Defined in Time.Types

Methods

compare :: Hours -> Hours -> Ordering

(<) :: Hours -> Hours -> Bool

(<=) :: Hours -> Hours -> Bool

(>) :: Hours -> Hours -> Bool

(>=) :: Hours -> Hours -> Bool

max :: Hours -> Hours -> Hours

min :: Hours -> Hours -> Hours

TimeInterval Hours Source # 
Instance details

Defined in Time.Types

Calendar enumerations

data Month Source #

Type representing months of the Julian or Gregorian year.

Instances

Instances details
Data Month Source # 
Instance details

Defined in Time.Types

Methods

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

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

toConstr :: Month -> Constr

dataTypeOf :: Month -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> Month -> Month

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

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

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

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

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

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

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

Bounded Month Source # 
Instance details

Defined in Time.Types

Enum Month Source # 
Instance details

Defined in Time.Types

Read Month Source # 
Instance details

Defined in Time.Types

Methods

readsPrec :: Int -> ReadS Month

readList :: ReadS [Month]

readPrec :: ReadPrec Month

readListPrec :: ReadPrec [Month]

Show Month Source # 
Instance details

Defined in Time.Types

Methods

showsPrec :: Int -> Month -> ShowS

show :: Month -> String

showList :: [Month] -> ShowS

Eq Month Source # 
Instance details

Defined in Time.Types

Methods

(==) :: Month -> Month -> Bool

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

Ord Month Source # 
Instance details

Defined in Time.Types

Methods

compare :: Month -> Month -> Ordering

(<) :: Month -> Month -> Bool

(<=) :: Month -> Month -> Bool

(>) :: Month -> Month -> Bool

(>=) :: Month -> Month -> Bool

max :: Month -> Month -> Month

min :: Month -> Month -> Month

data WeekDay Source #

Type representing days of the week. The enumeration starts on Sunday.

Instances

Instances details
Data WeekDay Source # 
Instance details

Defined in Time.Types

Methods

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

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

toConstr :: WeekDay -> Constr

dataTypeOf :: WeekDay -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> WeekDay -> WeekDay

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

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

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

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

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

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

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

Bounded WeekDay Source # 
Instance details

Defined in Time.Types

Enum WeekDay Source # 
Instance details

Defined in Time.Types

Read WeekDay Source # 
Instance details

Defined in Time.Types

Methods

readsPrec :: Int -> ReadS WeekDay

readList :: ReadS [WeekDay]

readPrec :: ReadPrec WeekDay

readListPrec :: ReadPrec [WeekDay]

Show WeekDay Source # 
Instance details

Defined in Time.Types

Methods

showsPrec :: Int -> WeekDay -> ShowS

show :: WeekDay -> String

showList :: [WeekDay] -> ShowS

Eq WeekDay Source # 
Instance details

Defined in Time.Types

Methods

(==) :: WeekDay -> WeekDay -> Bool

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

Ord WeekDay Source # 
Instance details

Defined in Time.Types

Methods

compare :: WeekDay -> WeekDay -> Ordering

(<) :: WeekDay -> WeekDay -> Bool

(<=) :: WeekDay -> WeekDay -> Bool

(>) :: WeekDay -> WeekDay -> Bool

(>=) :: WeekDay -> WeekDay -> Bool

max :: WeekDay -> WeekDay -> WeekDay

min :: WeekDay -> WeekDay -> WeekDay

Points in time

Precise amounts of seconds

fromRationalSecondsP :: Rational -> (Seconds, NanoSeconds) Source #

Given a precise amount of seconds yield a corresponding pair of Seconds and NanoSeconds values.

If the precise amount of seconds is negative the number of nanoseconds will not be positive. This can be contrasted with a normalised ElapsedP value.

Elapsed time since the Unix epoch

newtype Elapsed Source #

Type representing numbers of non-leap seconds elapsed since the Unix epoch (1970-01-01 00:00:00 UTC).

Points in time before the Unix epoch are represented by a negative number of seconds.

Constructors

Elapsed Seconds 

Instances

Instances details
NFData Elapsed Source # 
Instance details

Defined in Time.Types

Methods

rnf :: Elapsed -> ()

Data Elapsed Source # 
Instance details

Defined in Time.Types

Methods

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

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

toConstr :: Elapsed -> Constr

dataTypeOf :: Elapsed -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> Elapsed -> Elapsed

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

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

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

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

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

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

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

Num Elapsed Source # 
Instance details

Defined in Time.Types

Read Elapsed Source # 
Instance details

Defined in Time.Types

Methods

readsPrec :: Int -> ReadS Elapsed

readList :: ReadS [Elapsed]

readPrec :: ReadPrec Elapsed

readListPrec :: ReadPrec [Elapsed]

Show Elapsed Source #

Show the number of seconds followed by s. (Note: the Read instance is derived.)

Instance details

Defined in Time.Types

Methods

showsPrec :: Int -> Elapsed -> ShowS

show :: Elapsed -> String

showList :: [Elapsed] -> ShowS

Eq Elapsed Source # 
Instance details

Defined in Time.Types

Methods

(==) :: Elapsed -> Elapsed -> Bool

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

Ord Elapsed Source # 
Instance details

Defined in Time.Types

Methods

compare :: Elapsed -> Elapsed -> Ordering

(<) :: Elapsed -> Elapsed -> Bool

(<=) :: Elapsed -> Elapsed -> Bool

(>) :: Elapsed -> Elapsed -> Bool

(>=) :: Elapsed -> Elapsed -> Bool

max :: Elapsed -> Elapsed -> Elapsed

min :: Elapsed -> Elapsed -> Elapsed

Time Elapsed Source # 
Instance details

Defined in Time.Time

Timeable Elapsed Source # 
Instance details

Defined in Time.Time

data ElapsedP Source #

Type representing numbers of non-leap seconds and nanoseconds elapsed since the Unix epoch (1970-01-01 00:00:00 UTC).

Constructors

ElapsedP !Elapsed !NanoSeconds

A normalised ElapsedP value has a nanoseconds field that is non-negative and fewer than 1,000,000,000 nanoseconds (being 1 second).

Instances

Instances details
NFData ElapsedP Source # 
Instance details

Defined in Time.Types

Methods

rnf :: ElapsedP -> ()

Data ElapsedP Source # 
Instance details

Defined in Time.Types

Methods

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

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

toConstr :: ElapsedP -> Constr

dataTypeOf :: ElapsedP -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> ElapsedP -> ElapsedP

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

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

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

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

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

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

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

Num ElapsedP Source # 
Instance details

Defined in Time.Types

Read ElapsedP Source # 
Instance details

Defined in Time.Types

Methods

readsPrec :: Int -> ReadS ElapsedP

readList :: ReadS [ElapsedP]

readPrec :: ReadPrec ElapsedP

readListPrec :: ReadPrec [ElapsedP]

Real ElapsedP Source # 
Instance details

Defined in Time.Types

Methods

toRational :: ElapsedP -> Rational

Show ElapsedP Source #

Show the number of seconds followed by s, ., and the number of nanoseconds followed by ns. (Note: the Read instance is derived.)

Instance details

Defined in Time.Types

Methods

showsPrec :: Int -> ElapsedP -> ShowS

show :: ElapsedP -> String

showList :: [ElapsedP] -> ShowS

Eq ElapsedP Source # 
Instance details

Defined in Time.Types

Methods

(==) :: ElapsedP -> ElapsedP -> Bool

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

Ord ElapsedP Source # 
Instance details

Defined in Time.Types

Methods

compare :: ElapsedP -> ElapsedP -> Ordering

(<) :: ElapsedP -> ElapsedP -> Bool

(<=) :: ElapsedP -> ElapsedP -> Bool

(>) :: ElapsedP -> ElapsedP -> Bool

(>=) :: ElapsedP -> ElapsedP -> Bool

max :: ElapsedP -> ElapsedP -> ElapsedP

min :: ElapsedP -> ElapsedP -> ElapsedP

Time ElapsedP Source # 
Instance details

Defined in Time.Time

Timeable ElapsedP Source # 
Instance details

Defined in Time.Time

mkElapsedP :: Seconds -> NanoSeconds -> ElapsedP Source #

A constructor of an ElapsedP value.

The ElapsedP value will be normalised. That is, the nanoseconds field will be non-negative and fewer than 1,000,000,000 nanoseconds (being 1 second).

fromRationalElapsedP :: Rational -> ElapsedP Source #

Given a precise amount of non-leap seconds elapsed since the Unix epoch, yield the corresponding ElapsedP value.

The ElapsedP value will be normalised. That is, the nanoseconds field will be non-negative and fewer than 1,000,000,000 nanoseconds (being 1 second).

Date, time, and date and time

data Date Source #

Type representing dates in the proleptic Gregorian calendar (the common calendar).

Constructors

Date 

Fields

Instances

Instances details
NFData Date Source # 
Instance details

Defined in Time.Types

Methods

rnf :: Date -> ()

Data Date Source # 
Instance details

Defined in Time.Types

Methods

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

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

toConstr :: Date -> Constr

dataTypeOf :: Date -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> Date -> Date

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

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

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

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

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

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

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

Read Date Source # 
Instance details

Defined in Time.Types

Methods

readsPrec :: Int -> ReadS Date

readList :: ReadS [Date]

readPrec :: ReadPrec Date

readListPrec :: ReadPrec [Date]

Show Date Source # 
Instance details

Defined in Time.Types

Methods

showsPrec :: Int -> Date -> ShowS

show :: Date -> String

showList :: [Date] -> ShowS

Eq Date Source # 
Instance details

Defined in Time.Types

Methods

(==) :: Date -> Date -> Bool

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

Ord Date Source # 
Instance details

Defined in Time.Types

Methods

compare :: Date -> Date -> Ordering

(<) :: Date -> Date -> Bool

(<=) :: Date -> Date -> Bool

(>) :: Date -> Date -> Bool

(>=) :: Date -> Date -> Bool

max :: Date -> Date -> Date

min :: Date -> Date -> Date

Time Date Source # 
Instance details

Defined in Time.Time

Timeable Date Source # 
Instance details

Defined in Time.Time

data TimeOfDay Source #

Type representing times as hour, minutes, seconds and nanoseconds.

Constructors

TimeOfDay 

Fields

Instances

Instances details
NFData TimeOfDay Source # 
Instance details

Defined in Time.Types

Methods

rnf :: TimeOfDay -> ()

Data TimeOfDay Source # 
Instance details

Defined in Time.Types

Methods

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

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

toConstr :: TimeOfDay -> Constr

dataTypeOf :: TimeOfDay -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> TimeOfDay -> TimeOfDay

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

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

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

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

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

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

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

Read TimeOfDay Source # 
Instance details

Defined in Time.Types

Methods

readsPrec :: Int -> ReadS TimeOfDay

readList :: ReadS [TimeOfDay]

readPrec :: ReadPrec TimeOfDay

readListPrec :: ReadPrec [TimeOfDay]

Show TimeOfDay Source # 
Instance details

Defined in Time.Types

Methods

showsPrec :: Int -> TimeOfDay -> ShowS

show :: TimeOfDay -> String

showList :: [TimeOfDay] -> ShowS

Eq TimeOfDay Source # 
Instance details

Defined in Time.Types

Methods

(==) :: TimeOfDay -> TimeOfDay -> Bool

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

Ord TimeOfDay Source # 
Instance details

Defined in Time.Types

Methods

compare :: TimeOfDay -> TimeOfDay -> Ordering

(<) :: TimeOfDay -> TimeOfDay -> Bool

(<=) :: TimeOfDay -> TimeOfDay -> Bool

(>) :: TimeOfDay -> TimeOfDay -> Bool

(>=) :: TimeOfDay -> TimeOfDay -> Bool

max :: TimeOfDay -> TimeOfDay -> TimeOfDay

min :: TimeOfDay -> TimeOfDay -> TimeOfDay

data DateTime Source #

Type representing date and time.

Constructors

DateTime 

Fields

Instances

Instances details
NFData DateTime Source # 
Instance details

Defined in Time.Types

Methods

rnf :: DateTime -> ()

Data DateTime Source # 
Instance details

Defined in Time.Types

Methods

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

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

toConstr :: DateTime -> Constr

dataTypeOf :: DateTime -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> DateTime -> DateTime

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

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

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

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

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

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

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

Read DateTime Source # 
Instance details

Defined in Time.Types

Methods

readsPrec :: Int -> ReadS DateTime

readList :: ReadS [DateTime]

readPrec :: ReadPrec DateTime

readListPrec :: ReadPrec [DateTime]

Show DateTime Source # 
Instance details

Defined in Time.Types

Methods

showsPrec :: Int -> DateTime -> ShowS

show :: DateTime -> String

showList :: [DateTime] -> ShowS

Eq DateTime Source # 
Instance details

Defined in Time.Types

Methods

(==) :: DateTime -> DateTime -> Bool

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

Ord DateTime Source # 
Instance details

Defined in Time.Types

Methods

compare :: DateTime -> DateTime -> Ordering

(<) :: DateTime -> DateTime -> Bool

(<=) :: DateTime -> DateTime -> Bool

(>) :: DateTime -> DateTime -> Bool

(>=) :: DateTime -> DateTime -> Bool

max :: DateTime -> DateTime -> DateTime

min :: DateTime -> DateTime -> DateTime

Time DateTime Source # 
Instance details

Defined in Time.Time

Timeable DateTime Source # 
Instance details

Defined in Time.Time

Local time and timezone-related

newtype TimezoneOffset Source #

Type representing offsets in minutes against UTC to obtain local time from UTC. A positive number represents a location east of where UTC is local time and a negative number represents a location west of where UTC is local time.

LocalTime t (-300) -- t represents a time at UTC-5

LocalTime t (+480) -- t represents a time at UTC+8

Should be between (-12 * 60) and (+14 * 60).

For example, in timezone AEDT (Australian Eastern Daylight Time) (UTC+11), local time is 15:47. Consequently, UTC time is 04:47 and the timezone offset is TimezoneOffset 660 (in minutes).

Constructors

TimezoneOffset 

Fields

Instances

Instances details
NFData TimezoneOffset Source # 
Instance details

Defined in Time.Types

Methods

rnf :: TimezoneOffset -> ()

Data TimezoneOffset Source # 
Instance details

Defined in Time.Types

Methods

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

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

toConstr :: TimezoneOffset -> Constr

dataTypeOf :: TimezoneOffset -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> TimezoneOffset -> TimezoneOffset

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

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

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

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

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

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

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

Read TimezoneOffset Source #

Read a time zone offset. Accepts the format ±HHMM and valid values between -1200 and +1400.

Instance details

Defined in Time.Types

Methods

readsPrec :: Int -> ReadS TimezoneOffset

readList :: ReadS [TimezoneOffset]

readPrec :: ReadPrec TimezoneOffset

readListPrec :: ReadPrec [TimezoneOffset]

Show TimezoneOffset Source #

Show the time zone offset in the format ±HHMM.

Instance details

Defined in Time.Types

Methods

showsPrec :: Int -> TimezoneOffset -> ShowS

show :: TimezoneOffset -> String

showList :: [TimezoneOffset] -> ShowS

Eq TimezoneOffset Source # 
Instance details

Defined in Time.Types

Ord TimezoneOffset Source # 
Instance details

Defined in Time.Types

timezoneOffsetToSeconds :: TimezoneOffset -> Seconds Source #

For the given timezone offset, yield the corresponding number of seconds.

timezone_UTC :: TimezoneOffset Source #

The UTC timezone.

timezoneOffsetToMinutes timezone_UTC == 0 -- True

Conversion of periods of time

class TimeInterval i where Source #

Type class promising functionality for:

  • converting a value of the type in question to a number of seconds; and
  • converting a Seconds value to a pair of a value of the type in question and a remaining number of seconds.

Methods

toSeconds :: i -> Seconds Source #

For the given value, yield a corresponding number of seconds (non-leap or all).

fromSeconds :: Seconds -> (i, Seconds) Source #

For the given number of seconds (non-leap or all), yield a pair of the corresponding value of the type in queston and a remaining number of seconds.