hourglass-0.2.12: simple performant time related library

License | BSD-style
Maintainer | Vincent Hanquez <vincent@snarc.org>
Safe Haskell | None
Language | Haskell2010

Time.Types

Contents

- Time units
- Time enumeration
- Timezone
- Computer friendly format
  - Unix elapsed
- Human friendly format
  - Calendar time

Description

Basic times units and types.

While pratically some units could hold infinite values, for practical and efficient purpose they are limited to int64 types for seconds and int types for years.

Most units use the unix epoch referential, but by no means reduce portability. the unix referential works under the Windows platform or any other platforms.

Synopsis

- newtype NanoSeconds = NanoSeconds Int64
- newtype Seconds = Seconds Int64
- newtype Minutes = Minutes Int64
- newtype Hours = Hours Int64
- class TimeInterval i where
  - toSeconds :: i -> Seconds
  - fromSeconds :: Seconds -> (i, Seconds)
- data Month
  - = January
  - | February
  - | March
  - | April
  - | May
  - | June
  - | July
  - | August
  - | September
  - | October
  - | November
  - | December
- data WeekDay
  - = Sunday
  - | Monday
  - | Tuesday
  - | Wednesday
  - | Thursday
  - | Friday
  - | Saturday
- newtype TimezoneOffset = TimezoneOffset {
  - timezoneOffsetToMinutes :: Int
  }
- timezoneOffsetToSeconds :: TimezoneOffset -> Seconds
- timezone_UTC :: TimezoneOffset
- newtype Elapsed = Elapsed Seconds
- data ElapsedP = ElapsedP !Elapsed !NanoSeconds
- data Date = Date {
  - dateYear :: !Int
  - dateMonth :: !Month
  - dateDay :: !Int
  }
- data TimeOfDay = TimeOfDay {
  - todHour :: !Hours
  - todMin :: !Minutes
  - todSec :: !Seconds
  - todNSec :: !NanoSeconds
  }
- data DateTime = DateTime {
  - dtDate :: Date
  - dtTime :: TimeOfDay
  }

# Time units

newtype NanoSeconds #

Nanoseconds

Constructors

NanoSeconds Int64 |

#### Instances

Instances details

Data NanoSeconds # |

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 # |
Instance details Defined in Time.Types Methods (+) :: NanoSeconds -> NanoSeconds -> NanoSeconds # (-) :: NanoSeconds -> NanoSeconds -> NanoSeconds # (*) :: NanoSeconds -> NanoSeconds -> NanoSeconds # negate :: NanoSeconds -> NanoSeconds # abs :: NanoSeconds -> NanoSeconds # signum :: NanoSeconds -> NanoSeconds # fromInteger :: Integer -> NanoSeconds #
Read NanoSeconds # |
Instance details Defined in Time.Types Methods readsPrec :: Int -> ReadS NanoSeconds # readList :: ReadS [NanoSeconds] # readPrec :: ReadPrec NanoSeconds # readListPrec :: ReadPrec [NanoSeconds] #
Show NanoSeconds # |
Instance details Defined in Time.Types Methods showsPrec :: Int -> NanoSeconds -> ShowS # show :: NanoSeconds -> String # showList :: [NanoSeconds] -> ShowS #
NFData NanoSeconds # |
Instance details Defined in Time.Types Methods rnf :: NanoSeconds -> () #
Eq NanoSeconds # |
Instance details Defined in Time.Types Methods (==) :: NanoSeconds -> NanoSeconds -> Bool # (/=) :: NanoSeconds -> NanoSeconds -> Bool #
Ord NanoSeconds # |
Instance details Defined in Time.Types Methods compare :: NanoSeconds -> NanoSeconds -> Ordering # (<) :: NanoSeconds -> NanoSeconds -> Bool # (<=) :: NanoSeconds -> NanoSeconds -> Bool # (>) :: NanoSeconds -> NanoSeconds -> Bool # (>=) :: NanoSeconds -> NanoSeconds -> Bool # max :: NanoSeconds -> NanoSeconds -> NanoSeconds # min :: NanoSeconds -> NanoSeconds -> NanoSeconds #
TimeInterval NanoSeconds # |
Instance details Defined in Time.Types Methods toSeconds :: NanoSeconds -> Seconds # fromSeconds :: Seconds -> (NanoSeconds, Seconds) #

newtype Seconds #

Number of seconds without a referential.

Can hold a number between [-2^63,2^63-1], which should be good for some billions of years.

However, because of limitation in the calendar conversion currently used, seconds should be in the range [-2^55,2^55-1], which is good for only 1 billion of year.

Constructors

Seconds Int64 |

#### Instances

Instances details

Data Seconds # |

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 # |
Instance details Defined in Time.Types Methods succ :: Seconds -> Seconds # pred :: Seconds -> Seconds # toEnum :: Int -> Seconds # fromEnum :: Seconds -> Int # enumFrom :: Seconds -> [Seconds] # enumFromThen :: Seconds -> Seconds -> [Seconds] # enumFromTo :: Seconds -> Seconds -> [Seconds] # enumFromThenTo :: Seconds -> Seconds -> Seconds -> [Seconds] #
Num Seconds # |
Instance details Defined in Time.Types Methods (+) :: Seconds -> Seconds -> Seconds # (-) :: Seconds -> Seconds -> Seconds # (*) :: Seconds -> Seconds -> Seconds # negate :: Seconds -> Seconds # abs :: Seconds -> Seconds # signum :: Seconds -> Seconds # fromInteger :: Integer -> Seconds #
Read Seconds # |
Instance details Defined in Time.Types Methods readsPrec :: Int -> ReadS Seconds # readList :: ReadS [Seconds] # readPrec :: ReadPrec Seconds # readListPrec :: ReadPrec [Seconds] #
Integral Seconds # |
Instance details Defined in Time.Types Methods quot :: Seconds -> Seconds -> Seconds # rem :: Seconds -> Seconds -> Seconds # div :: Seconds -> Seconds -> Seconds # mod :: Seconds -> Seconds -> Seconds # quotRem :: Seconds -> Seconds -> (Seconds, Seconds) # divMod :: Seconds -> Seconds -> (Seconds, Seconds) # toInteger :: Seconds -> Integer #
Real Seconds # |
Instance details Defined in Time.Types Methods toRational :: Seconds -> Rational #
Show Seconds # |
Instance details Defined in Time.Types Methods showsPrec :: Int -> Seconds -> ShowS # show :: Seconds -> String # showList :: [Seconds] -> ShowS #
NFData Seconds # |
Instance details Defined in Time.Types Methods rnf :: Seconds -> () #
Eq Seconds # |
Instance details Defined in Time.Types Methods (==) :: Seconds -> Seconds -> Bool # (/=) :: Seconds -> Seconds -> Bool #
Ord Seconds # |
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 # |
Instance details Defined in Time.Types Methods toSeconds :: Seconds -> Seconds # fromSeconds :: Seconds -> (Seconds, Seconds) #

newtype Minutes #

Number of minutes without a referential.

Constructors

Minutes Int64 |

#### Instances

Instances details

Data Minutes # |

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 # |
Instance details Defined in Time.Types Methods succ :: Minutes -> Minutes # pred :: Minutes -> Minutes # toEnum :: Int -> Minutes # fromEnum :: Minutes -> Int # enumFrom :: Minutes -> [Minutes] # enumFromThen :: Minutes -> Minutes -> [Minutes] # enumFromTo :: Minutes -> Minutes -> [Minutes] # enumFromThenTo :: Minutes -> Minutes -> Minutes -> [Minutes] #
Num Minutes # |
Instance details Defined in Time.Types Methods (+) :: Minutes -> Minutes -> Minutes # (-) :: Minutes -> Minutes -> Minutes # (*) :: Minutes -> Minutes -> Minutes # negate :: Minutes -> Minutes # abs :: Minutes -> Minutes # signum :: Minutes -> Minutes # fromInteger :: Integer -> Minutes #
Read Minutes # |
Instance details Defined in Time.Types Methods readsPrec :: Int -> ReadS Minutes # readList :: ReadS [Minutes] # readPrec :: ReadPrec Minutes # readListPrec :: ReadPrec [Minutes] #
Integral Minutes # |
Instance details Defined in Time.Types Methods quot :: Minutes -> Minutes -> Minutes # rem :: Minutes -> Minutes -> Minutes # div :: Minutes -> Minutes -> Minutes # mod :: Minutes -> Minutes -> Minutes # quotRem :: Minutes -> Minutes -> (Minutes, Minutes) # divMod :: Minutes -> Minutes -> (Minutes, Minutes) # toInteger :: Minutes -> Integer #
Real Minutes # |
Instance details Defined in Time.Types Methods toRational :: Minutes -> Rational #
Show Minutes # |
Instance details Defined in Time.Types Methods showsPrec :: Int -> Minutes -> ShowS # show :: Minutes -> String # showList :: [Minutes] -> ShowS #
NFData Minutes # |
Instance details Defined in Time.Types Methods rnf :: Minutes -> () #
Eq Minutes # |
Instance details Defined in Time.Types Methods (==) :: Minutes -> Minutes -> Bool # (/=) :: Minutes -> Minutes -> Bool #
Ord Minutes # |
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 # |
Instance details Defined in Time.Types Methods toSeconds :: Minutes -> Seconds # fromSeconds :: Seconds -> (Minutes, Seconds) #

newtype Hours #

Number of hours without a referential.

Constructors

Hours Int64 |

#### Instances

Instances details

Data Hours # |

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 # |
Instance details Defined in Time.Types Methods succ :: Hours -> Hours # pred :: Hours -> Hours # toEnum :: Int -> Hours # fromEnum :: Hours -> Int # enumFrom :: Hours -> [Hours] # enumFromThen :: Hours -> Hours -> [Hours] # enumFromTo :: Hours -> Hours -> [Hours] # enumFromThenTo :: Hours -> Hours -> Hours -> [Hours] #
Num Hours # |
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 # |
Instance details Defined in Time.Types Methods readsPrec :: Int -> ReadS Hours # readList :: ReadS [Hours] # readPrec :: ReadPrec Hours # readListPrec :: ReadPrec [Hours] #
Integral Hours # |
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 # |
Instance details Defined in Time.Types Methods toRational :: Hours -> Rational #
Show Hours # |
Instance details Defined in Time.Types Methods showsPrec :: Int -> Hours -> ShowS # show :: Hours -> String # showList :: [Hours] -> ShowS #
NFData Hours # |
Instance details Defined in Time.Types Methods rnf :: Hours -> () #
Eq Hours # |
Instance details Defined in Time.Types Methods (==) :: Hours -> Hours -> Bool # (/=) :: Hours -> Hours -> Bool #
Ord Hours # |
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 # |
Instance details Defined in Time.Types Methods toSeconds :: Hours -> Seconds # fromSeconds :: Seconds -> (Hours, Seconds) #

class TimeInterval i where #

Represent any time interval that has an equivalent value to a number of seconds.

Methods

toSeconds :: i -> Seconds #

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

#### Instances

Instances details

TimeInterval Duration # |
Instance details Defined in Data.Hourglass.Diff Methods toSeconds :: Duration -> Seconds # fromSeconds :: Seconds -> (Duration, Seconds) #
TimeInterval Hours # |
Instance details Defined in Time.Types Methods toSeconds :: Hours -> Seconds # fromSeconds :: Seconds -> (Hours, Seconds) #
TimeInterval Minutes # |
Instance details Defined in Time.Types Methods toSeconds :: Minutes -> Seconds # fromSeconds :: Seconds -> (Minutes, Seconds) #
TimeInterval NanoSeconds # |
Instance details Defined in Time.Types Methods toSeconds :: NanoSeconds -> Seconds # fromSeconds :: Seconds -> (NanoSeconds, Seconds) #
TimeInterval Seconds # |
Instance details Defined in Time.Types Methods toSeconds :: Seconds -> Seconds # fromSeconds :: Seconds -> (Seconds, Seconds) #

# Time enumeration

data Month #

Month of the year

Constructors

January |
February |
March |
April |
May |
June |
July |
August |
September |
October |
November |
December |

#### Instances

Instances details

Data Month # |

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 # |
Instance details Defined in Time.Types Methods minBound :: Month # maxBound :: Month #
Enum Month # |
Instance details Defined in Time.Types Methods succ :: Month -> Month # pred :: Month -> Month # toEnum :: Int -> Month # fromEnum :: Month -> Int # enumFrom :: Month -> [Month] # enumFromThen :: Month -> Month -> [Month] # enumFromTo :: Month -> Month -> [Month] # enumFromThenTo :: Month -> Month -> Month -> [Month] #
Read Month # |
Instance details Defined in Time.Types Methods readsPrec :: Int -> ReadS Month # readList :: ReadS [Month] # readPrec :: ReadPrec Month # readListPrec :: ReadPrec [Month] #
Show Month # |
Instance details Defined in Time.Types Methods showsPrec :: Int -> Month -> ShowS # show :: Month -> String # showList :: [Month] -> ShowS #
Eq Month # |
Instance details Defined in Time.Types Methods (==) :: Month -> Month -> Bool # (/=) :: Month -> Month -> Bool #
Ord Month # |
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 #

Day of the week

the enumeration starts on Sunday.

Constructors

Sunday |
Monday |
Tuesday |
Wednesday |
Thursday |
Friday |
Saturday |

#### Instances

Instances details

Data WeekDay # |

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 # |
Instance details Defined in Time.Types Methods minBound :: WeekDay # maxBound :: WeekDay #
Enum WeekDay # |
Instance details Defined in Time.Types Methods succ :: WeekDay -> WeekDay # pred :: WeekDay -> WeekDay # toEnum :: Int -> WeekDay # fromEnum :: WeekDay -> Int # enumFrom :: WeekDay -> [WeekDay] # enumFromThen :: WeekDay -> WeekDay -> [WeekDay] # enumFromTo :: WeekDay -> WeekDay -> [WeekDay] # enumFromThenTo :: WeekDay -> WeekDay -> WeekDay -> [WeekDay] #
Read WeekDay # |
Instance details Defined in Time.Types Methods readsPrec :: Int -> ReadS WeekDay # readList :: ReadS [WeekDay] # readPrec :: ReadPrec WeekDay # readListPrec :: ReadPrec [WeekDay] #
Show WeekDay # |
Instance details Defined in Time.Types Methods showsPrec :: Int -> WeekDay -> ShowS # show :: WeekDay -> String # showList :: [WeekDay] -> ShowS #
Eq WeekDay # |
Instance details Defined in Time.Types Methods (==) :: WeekDay -> WeekDay -> Bool # (/=) :: WeekDay -> WeekDay -> Bool #
Ord WeekDay # |
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 #

# Timezone

newtype TimezoneOffset #

Offset against UTC in minutes to obtain from UTC time, local time.

- a positive number represent a location East of UTC.
- a negative number represent a location West of UTC.

LocalTime t (-300) = t represent a time at UTC-5 LocalTime t (+480) = t represent a time at UTC+8

should be between -11H and +14H

Example: in AUSEDT (UTC+1000 with daylight = UTC+1100), local time is 15:47; Thus, UTC time is 04:47, and TimezoneOffset is +660 (minutes)

Constructors

TimezoneOffset |

Fields

- timezoneOffsetToMinutes :: Int

  return the number of minutes

#### Instances

Instances details

Data TimezoneOffset # |

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 #

Show TimezoneOffset # |
Instance details Defined in Time.Types Methods showsPrec :: Int -> TimezoneOffset -> ShowS # show :: TimezoneOffset -> String # showList :: [TimezoneOffset] -> ShowS #
NFData TimezoneOffset # |
Instance details Defined in Time.Types Methods rnf :: TimezoneOffset -> () #
Eq TimezoneOffset # |
Instance details Defined in Time.Types Methods (==) :: TimezoneOffset -> TimezoneOffset -> Bool # (/=) :: TimezoneOffset -> TimezoneOffset -> Bool #
Ord TimezoneOffset # |

Instance details

Defined in Time.Types

Methods

compare :: TimezoneOffset -> TimezoneOffset -> Ordering #

(<) :: TimezoneOffset -> TimezoneOffset -> Bool #

(<=) :: TimezoneOffset -> TimezoneOffset -> Bool #

(>) :: TimezoneOffset -> TimezoneOffset -> Bool #

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

max :: TimezoneOffset -> TimezoneOffset -> TimezoneOffset #

min :: TimezoneOffset -> TimezoneOffset -> TimezoneOffset #

timezoneOffsetToSeconds :: TimezoneOffset -> Seconds #

Return the number of seconds associated with a timezone

timezone_UTC :: TimezoneOffset #

The UTC timezone. offset of 0

# Computer friendly format

## Unix elapsed

newtype Elapsed #

A number of seconds elapsed since the unix epoch.

Constructors

Elapsed Seconds |

#### Instances

Instances details

Data Elapsed # |

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 # |
Instance details Defined in Time.Types Methods (+) :: Elapsed -> Elapsed -> Elapsed # (-) :: Elapsed -> Elapsed -> Elapsed # (*) :: Elapsed -> Elapsed -> Elapsed # negate :: Elapsed -> Elapsed # abs :: Elapsed -> Elapsed # signum :: Elapsed -> Elapsed # fromInteger :: Integer -> Elapsed #
Read Elapsed # |
Instance details Defined in Time.Types Methods readsPrec :: Int -> ReadS Elapsed # readList :: ReadS [Elapsed] # readPrec :: ReadPrec Elapsed # readListPrec :: ReadPrec [Elapsed] #
Show Elapsed # |
Instance details Defined in Time.Types Methods showsPrec :: Int -> Elapsed -> ShowS # show :: Elapsed -> String # showList :: [Elapsed] -> ShowS #
NFData Elapsed # |
Instance details Defined in Time.Types Methods rnf :: Elapsed -> () #
Eq Elapsed # |
Instance details Defined in Time.Types Methods (==) :: Elapsed -> Elapsed -> Bool # (/=) :: Elapsed -> Elapsed -> Bool #
Ord Elapsed # |
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 # |
Instance details Defined in Data.Hourglass.Time Methods timeFromElapsedP :: ElapsedP -> Elapsed # timeFromElapsed :: Elapsed -> Elapsed #
Timeable Elapsed # |
Instance details Defined in Data.Hourglass.Time Methods timeGetElapsedP :: Elapsed -> ElapsedP # timeGetElapsed :: Elapsed -> Elapsed # timeGetNanoSeconds :: Elapsed -> NanoSeconds #

data ElapsedP #

A number of seconds and nanoseconds elapsed since the unix epoch.

Constructors

ElapsedP !Elapsed !NanoSeconds |

#### Instances

Instances details

Data ElapsedP # |

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 # |
Instance details Defined in Time.Types Methods (+) :: ElapsedP -> ElapsedP -> ElapsedP # (-) :: ElapsedP -> ElapsedP -> ElapsedP # (*) :: ElapsedP -> ElapsedP -> ElapsedP # negate :: ElapsedP -> ElapsedP # abs :: ElapsedP -> ElapsedP # signum :: ElapsedP -> ElapsedP # fromInteger :: Integer -> ElapsedP #
Read ElapsedP # |
Instance details Defined in Time.Types Methods readsPrec :: Int -> ReadS ElapsedP # readList :: ReadS [ElapsedP] # readPrec :: ReadPrec ElapsedP # readListPrec :: ReadPrec [ElapsedP] #
Real ElapsedP # |
Instance details Defined in Time.Types Methods toRational :: ElapsedP -> Rational #
Show ElapsedP # |
Instance details Defined in Time.Types Methods showsPrec :: Int -> ElapsedP -> ShowS # show :: ElapsedP -> String # showList :: [ElapsedP] -> ShowS #
NFData ElapsedP # |
Instance details Defined in Time.Types Methods rnf :: ElapsedP -> () #
Eq ElapsedP # |
Instance details Defined in Time.Types Methods (==) :: ElapsedP -> ElapsedP -> Bool # (/=) :: ElapsedP -> ElapsedP -> Bool #
Ord ElapsedP # |
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 # |
Instance details Defined in Data.Hourglass.Time Methods timeFromElapsedP :: ElapsedP -> ElapsedP # timeFromElapsed :: Elapsed -> ElapsedP #
Timeable ElapsedP # |
Instance details Defined in Data.Hourglass.Time Methods timeGetElapsedP :: ElapsedP -> ElapsedP # timeGetElapsed :: ElapsedP -> Elapsed # timeGetNanoSeconds :: ElapsedP -> NanoSeconds #

# Human friendly format

## Calendar time

data Date #

human date representation using common calendar

Constructors

Date |

Fields

- dateYear :: !Int

  year (Common Era)

- dateMonth :: !Month

  month of the year

- dateDay :: !Int

  day of the month, between 1 to 31

#### Instances

Instances details

Data Date # |

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 # |
Instance details Defined in Time.Types Methods readsPrec :: Int -> ReadS Date # readList :: ReadS [Date] # readPrec :: ReadPrec Date # readListPrec :: ReadPrec [Date] #
Show Date # |
Instance details Defined in Time.Types Methods showsPrec :: Int -> Date -> ShowS # show :: Date -> String # showList :: [Date] -> ShowS #
NFData Date # |
Instance details Defined in Time.Types Methods rnf :: Date -> () #
Eq Date # |
Instance details Defined in Time.Types Methods (==) :: Date -> Date -> Bool # (/=) :: Date -> Date -> Bool #
Ord Date # |
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 # |
Instance details Defined in Data.Hourglass.Time Methods timeFromElapsedP :: ElapsedP -> Date # timeFromElapsed :: Elapsed -> Date #
Timeable Date # |
Instance details Defined in Data.Hourglass.Time Methods timeGetElapsedP :: Date -> ElapsedP # timeGetElapsed :: Date -> Elapsed # timeGetNanoSeconds :: Date -> NanoSeconds #

data TimeOfDay #

human time representation of hour, minutes, seconds in a day.

Constructors

TimeOfDay |

Fields

- todHour :: !Hours

  hours, between 0 and 23

- todMin :: !Minutes

  minutes, between 0 and 59

- todSec :: !Seconds

  seconds, between 0 and 59. 60 when having leap second */

- todNSec :: !NanoSeconds

  nanoseconds, between 0 and 999999999 */

#### Instances

Instances details

Data TimeOfDay # |

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 # |
Instance details Defined in Time.Types Methods readsPrec :: Int -> ReadS TimeOfDay # readList :: ReadS [TimeOfDay] # readPrec :: ReadPrec TimeOfDay # readListPrec :: ReadPrec [TimeOfDay] #
Show TimeOfDay # |
Instance details Defined in Time.Types Methods showsPrec :: Int -> TimeOfDay -> ShowS # show :: TimeOfDay -> String # showList :: [TimeOfDay] -> ShowS #
NFData TimeOfDay # |
Instance details Defined in Time.Types Methods rnf :: TimeOfDay -> () #
Eq TimeOfDay # |
Instance details Defined in Time.Types Methods (==) :: TimeOfDay -> TimeOfDay -> Bool # (/=) :: TimeOfDay -> TimeOfDay -> Bool #
Ord TimeOfDay # |
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 #

Date and Time

Constructors

DateTime |

Fields

- dtDate :: Date
- dtTime :: TimeOfDay

#### Instances

Instances details

Data DateTime # |

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 # |
Instance details Defined in Time.Types Methods readsPrec :: Int -> ReadS DateTime # readList :: ReadS [DateTime] # readPrec :: ReadPrec DateTime # readListPrec :: ReadPrec [DateTime] #
Show DateTime # |
Instance details Defined in Time.Types Methods showsPrec :: Int -> DateTime -> ShowS # show :: DateTime -> String # showList :: [DateTime] -> ShowS #
NFData DateTime # |
Instance details Defined in Time.Types Methods rnf :: DateTime -> () #
Eq DateTime # |
Instance details Defined in Time.Types Methods (==) :: DateTime -> DateTime -> Bool # (/=) :: DateTime -> DateTime -> Bool #
Ord DateTime # |
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 # |
Instance details Defined in Data.Hourglass.Time Methods timeFromElapsedP :: ElapsedP -> DateTime # timeFromElapsed :: Elapsed -> DateTime #
Timeable DateTime # |
Instance details Defined in Data.Hourglass.Time Methods timeGetElapsedP :: DateTime -> ElapsedP # timeGetElapsed :: DateTime -> Elapsed # timeGetNanoSeconds :: DateTime -> NanoSeconds #