time-1.12.2: A time library

Safe Haskell | Safe
Language | Haskell2010

Data.Time.Clock.System

Description

Fast access to the system clock.

Synopsis

- systemEpochDay :: Day
- data SystemTime = MkSystemTime {
  - systemSeconds :: !Int64
  - systemNanoseconds :: !Word32
  }
- truncateSystemTimeLeapSecond :: SystemTime -> SystemTime
- getSystemTime :: IO SystemTime
- systemToUTCTime :: SystemTime -> UTCTime
- utcToSystemTime :: UTCTime -> SystemTime
- systemToTAITime :: SystemTime -> AbsoluteTime

# Documentation

systemEpochDay :: Day Source #

The day of the epoch of `SystemTime`, 1970-01-01

data SystemTime Source #

`SystemTime` is time returned by system clock functions. Its semantics depends on the clock function, but the epoch is typically the beginning of 1970. Note that `systemNanoseconds` of 1E9 to 2E9-1 can be used to represent leap seconds.

Constructors

MkSystemTime |

Fields

- systemSeconds :: !Int64
- systemNanoseconds :: !Word32

#### Instances

Instances details

Data SystemTime Source # |

Instance details

Defined in Data.Time.Clock.Internal.SystemTime

Methods

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

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

toConstr :: SystemTime -> Constr Source #

dataTypeOf :: SystemTime -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show SystemTime Source # |
Instance details Defined in Data.Time.Clock.Internal.SystemTime Methods showsPrec :: Int -> SystemTime -> ShowS Source # show :: SystemTime -> String Source # showList :: [SystemTime] -> ShowS Source #
NFData SystemTime Source # |
Instance details Defined in Data.Time.Clock.Internal.SystemTime Methods rnf :: SystemTime -> () Source #
Eq SystemTime Source # |
Instance details Defined in Data.Time.Clock.Internal.SystemTime Methods (==) :: SystemTime -> SystemTime -> Bool # (/=) :: SystemTime -> SystemTime -> Bool #
Ord SystemTime Source # |
Instance details Defined in Data.Time.Clock.Internal.SystemTime Methods compare :: SystemTime -> SystemTime -> Ordering # (<) :: SystemTime -> SystemTime -> Bool # (<=) :: SystemTime -> SystemTime -> Bool # (>) :: SystemTime -> SystemTime -> Bool # (>=) :: SystemTime -> SystemTime -> Bool # max :: SystemTime -> SystemTime -> SystemTime # min :: SystemTime -> SystemTime -> SystemTime #

truncateSystemTimeLeapSecond :: SystemTime -> SystemTime Source #

Map leap-second values to the start of the following second. The resulting `systemNanoseconds` will always be in the range 0 to 1E9-1.

getSystemTime :: IO SystemTime Source #

Get the system time, epoch start of 1970 UTC, leap-seconds ignored. `getSystemTime` is typically much faster than `getCurrentTime`.

systemToUTCTime :: SystemTime -> UTCTime Source #

Convert `SystemTime` to `UTCTime`, matching zero `SystemTime` to midnight of `systemEpochDay` UTC.

utcToSystemTime :: UTCTime -> SystemTime Source #

Convert `UTCTime` to `SystemTime`, matching zero `SystemTime` to midnight of `systemEpochDay` UTC.

systemToTAITime :: SystemTime -> AbsoluteTime Source #

Convert `SystemTime` to `AbsoluteTime`, matching zero `SystemTime` to midnight of `systemEpochDay` TAI.