time-1.14: A time library
Safe HaskellSafe
LanguageHaskell2010

Data.Time.Clock

Description

Types and functions for UTC and UT1

Synopsis

Documentation

newtype UniversalTime Source #

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.

Constructors

ModJulianDate 

Instances

Instances details
NFData UniversalTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.UniversalTime

Methods

rnf :: UniversalTime -> () Source #

Data UniversalTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.UniversalTime

Methods

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

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

toConstr :: UniversalTime -> Constr #

dataTypeOf :: UniversalTime -> DataType #

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

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

gmapT :: (forall b. Data b => b -> b) -> UniversalTime -> UniversalTime #

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

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

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

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

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

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

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

Generic UniversalTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.UniversalTime

Associated Types

type Rep UniversalTime 
Instance details

Defined in Data.Time.Clock.Internal.UniversalTime

type Rep UniversalTime = D1 ('MetaData "UniversalTime" "Data.Time.Clock.Internal.UniversalTime" "time-1.14-40b8" 'True) (C1 ('MetaCons "ModJulianDate" 'PrefixI 'True) (S1 ('MetaSel ('Just "getModJulianDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rational)))
Read UniversalTime Source # 
Instance details

Defined in Data.Time.Format.Parse

Show UniversalTime Source # 
Instance details

Defined in Data.Time.LocalTime.Internal.LocalTime

Eq UniversalTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.UniversalTime

Ord UniversalTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.UniversalTime

FormatTime UniversalTime Source # 
Instance details

Defined in Data.Time.Format.Format.Instances

ParseTime UniversalTime Source # 
Instance details

Defined in Data.Time.Format.Parse.Instances

Lift UniversalTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.UniversalTime

Methods

lift :: Quote m => UniversalTime -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => UniversalTime -> Code m UniversalTime #

type Rep UniversalTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.UniversalTime

type Rep UniversalTime = D1 ('MetaData "UniversalTime" "Data.Time.Clock.Internal.UniversalTime" "time-1.14-40b8" 'True) (C1 ('MetaCons "ModJulianDate" 'PrefixI 'True) (S1 ('MetaSel ('Just "getModJulianDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rational)))

diffTimeToPicoseconds :: DiffTime -> Integer Source #

Get the number of picoseconds in a DiffTime.

picosecondsToDiffTime :: Integer -> DiffTime Source #

Create a DiffTime from a number of picoseconds.

secondsToDiffTime :: Integer -> DiffTime Source #

Create a DiffTime which represents an integral number of seconds.

data DiffTime Source #

This is a length of time, as measured by a clock. Conversion functions such as fromInteger and realToFrac will treat it as seconds. For example, (0.010 :: DiffTime) corresponds to 10 milliseconds.

It has a precision of one picosecond (= 10^-12 s). Enumeration functions will treat it as picoseconds.

Instances

Instances details
NFData DiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.DiffTime

Methods

rnf :: DiffTime -> () Source #

Data DiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.DiffTime

Methods

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

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

toConstr :: DiffTime -> Constr #

dataTypeOf :: DiffTime -> DataType #

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

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

gmapT :: (forall b. Data b => b -> b) -> DiffTime -> DiffTime #

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

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

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

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

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

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

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

Enum DiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.DiffTime

Num DiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.DiffTime

Read DiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.DiffTime

Fractional DiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.DiffTime

Real DiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.DiffTime

RealFrac DiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.DiffTime

Methods

properFraction :: Integral b => DiffTime -> (b, DiffTime) #

truncate :: Integral b => DiffTime -> b #

round :: Integral b => DiffTime -> b #

ceiling :: Integral b => DiffTime -> b #

floor :: Integral b => DiffTime -> b #

Show DiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.DiffTime

Eq DiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.DiffTime

Ord DiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.DiffTime

FormatTime DiffTime Source # 
Instance details

Defined in Data.Time.Format.Format.Instances

ParseTime DiffTime Source # 
Instance details

Defined in Data.Time.Format.Parse.Instances

Lift DiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.DiffTime

Methods

lift :: Quote m => DiffTime -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => DiffTime -> Code m DiffTime #

data UTCTime Source #

This is the simplest representation of UTC. It consists of the day number, and a time offset from midnight. Note that if a day has a leap second added to it, it will have 86401 seconds.

Constructors

UTCTime 

Fields

Instances

Instances details
NFData UTCTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.UTCTime

Methods

rnf :: UTCTime -> () Source #

Data UTCTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.UTCTime

Methods

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

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

toConstr :: UTCTime -> Constr #

dataTypeOf :: UTCTime -> DataType #

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

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

gmapT :: (forall b. Data b => b -> b) -> UTCTime -> UTCTime #

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

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

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

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

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

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

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

Generic UTCTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.UTCTime

Associated Types

type Rep UTCTime 
Instance details

Defined in Data.Time.Clock.Internal.UTCTime

type Rep UTCTime = D1 ('MetaData "UTCTime" "Data.Time.Clock.Internal.UTCTime" "time-1.14-40b8" 'False) (C1 ('MetaCons "UTCTime" 'PrefixI 'True) (S1 ('MetaSel ('Just "utctDay") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Day) :*: S1 ('MetaSel ('Just "utctDayTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DiffTime)))

Methods

from :: UTCTime -> Rep UTCTime x #

to :: Rep UTCTime x -> UTCTime #

Read UTCTime Source # 
Instance details

Defined in Data.Time.Format.Parse

Show UTCTime Source # 
Instance details

Defined in Data.Time.LocalTime.Internal.ZonedTime

Eq UTCTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.UTCTime

Methods

(==) :: UTCTime -> UTCTime -> Bool #

(/=) :: UTCTime -> UTCTime -> Bool #

Ord UTCTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.UTCTime

FormatTime UTCTime Source # 
Instance details

Defined in Data.Time.Format.Format.Instances

ISO8601 UTCTime Source #

yyyy-mm-ddThh:mm:ss[.ss]Z [ISO 8601:2004(E) sec. 4.3.2 extended format]

Instance details

Defined in Data.Time.Format.ISO8601

ParseTime UTCTime Source # 
Instance details

Defined in Data.Time.Format.Parse.Instances

Lift UTCTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.UTCTime

Methods

lift :: Quote m => UTCTime -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => UTCTime -> Code m UTCTime #

type Rep UTCTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.UTCTime

type Rep UTCTime = D1 ('MetaData "UTCTime" "Data.Time.Clock.Internal.UTCTime" "time-1.14-40b8" 'False) (C1 ('MetaCons "UTCTime" 'PrefixI 'True) (S1 ('MetaSel ('Just "utctDay") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Day) :*: S1 ('MetaSel ('Just "utctDayTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DiffTime)))

nominalDiffTimeToSeconds :: NominalDiffTime -> Pico Source #

Get the seconds in a NominalDiffTime.

Since: time-1.9.1

secondsToNominalDiffTime :: Pico -> NominalDiffTime Source #

Create a NominalDiffTime from a number of seconds.

Since: time-1.9.1

data NominalDiffTime Source #

This is a length of time, as measured by UTC. It has a precision of 10^-12 s.

Conversion functions such as fromInteger and realToFrac will treat it as seconds. For example, (0.010 :: NominalDiffTime) corresponds to 10 milliseconds.

It has a precision of one picosecond (= 10^-12 s). Enumeration functions will treat it as picoseconds.

It ignores leap-seconds, so it's not necessarily a fixed amount of clock time. For instance, 23:00 UTC + 2 hours of NominalDiffTime = 01:00 UTC (+ 1 day), regardless of whether a leap-second intervened.

Instances

Instances details
NFData NominalDiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.NominalDiffTime

Methods

rnf :: NominalDiffTime -> () Source #

Data NominalDiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.NominalDiffTime

Methods

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

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

toConstr :: NominalDiffTime -> Constr #

dataTypeOf :: NominalDiffTime -> DataType #

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

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

gmapT :: (forall b. Data b => b -> b) -> NominalDiffTime -> NominalDiffTime #

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

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

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

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

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

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

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

Enum NominalDiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.NominalDiffTime

Num NominalDiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.NominalDiffTime

Read NominalDiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.NominalDiffTime

Fractional NominalDiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.NominalDiffTime

Real NominalDiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.NominalDiffTime

RealFrac NominalDiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.NominalDiffTime

Show NominalDiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.NominalDiffTime

Eq NominalDiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.NominalDiffTime

Ord NominalDiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.NominalDiffTime

FormatTime NominalDiffTime Source # 
Instance details

Defined in Data.Time.Format.Format.Instances

ParseTime NominalDiffTime Source # 
Instance details

Defined in Data.Time.Format.Parse.Instances

Lift NominalDiffTime Source # 
Instance details

Defined in Data.Time.Clock.Internal.NominalDiffTime

Methods

lift :: Quote m => NominalDiffTime -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => NominalDiffTime -> Code m NominalDiffTime #

addUTCTime :: NominalDiffTime -> UTCTime -> UTCTime Source #

addUTCTime a b = a + b

diffUTCTime :: UTCTime -> UTCTime -> NominalDiffTime Source #

diffUTCTime a b = a - b

getCurrentTime :: IO UTCTime Source #

Get the current UTCTime from the system clock.

getTime_resolution :: DiffTime Source #

The resolution of getSystemTime, getCurrentTime, getPOSIXTime. On UNIX systems this uses clock_getres, which may be wrong on WSL2.