-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Yet another time library -- -- A stand-alone time library implementing Unix and UTC timestamps with -- varying granularity. @package time-exts @version 3.0.4 -- | A list of time format directives. module Data.Time.Exts.Format -- | Format text is composed of time format directives, each matching data -- described below. -- -- type Format = Text -- | Basic definitions, including type classes, data types and type -- families. module Data.Time.Exts.Base class Human x where type Components x :: * where { type family Components x :: *; } -- | Pack a timestamp from human-readable components. pack :: Human x => Components x -> x -- | Unpack a timestamp to human-readable components. unpack :: Human x => x -> Components x class Math x c -- | Calculate the duration between two timestamps. duration :: Math x c => x -> x -> c -- | Add a duration to a timestamp. plus :: Math x c => x -> c -> x -- | System for organizing dates. data Calendar Chinese :: Calendar Gregorian :: Calendar Hebrew :: Calendar Islamic :: Calendar Julian :: Calendar -- | System origin. data Epoch Unix :: Epoch -- | System for numbering years. -- | Year. newtype Year Year :: Int32 -> Year [getYear] :: Year -> Int32 -- | Month. -- | Day. newtype Day Day :: Int32 -> Day [getDay] :: Day -> Int32 -- | Day of week. -- | Hour. newtype Hour Hour :: Int64 -> Hour [getHour] :: Hour -> Int64 -- | Minute. newtype Minute Minute :: Int64 -> Minute [getMinute] :: Minute -> Int64 -- | Second. newtype Second Second :: Int64 -> Second [getSecond] :: Second -> Int64 -- | Millisecond. newtype Millis Millis :: Int64 -> Millis [getMillis] :: Millis -> Int64 -- | Microsecond. newtype Micros Micros :: Int64 -> Micros [getMicros] :: Micros -> Int64 -- | Nanosecond. newtype Nanos Nanos :: Int64 -> Nanos [getNanos] :: Nanos -> Int64 -- | Picosecond. newtype Picos Picos :: Int64 -> Picos [getPicos] :: Picos -> Int64 -- | A struct with date components. data DateStruct (cal :: Calendar) DateStruct :: {-# UNPACK #-} !Year -> !(Month cal) -> {-# UNPACK #-} !Day -> !(DayOfWeek cal) -> DateStruct [_d_year] :: DateStruct -> {-# UNPACK #-} !Year [_d_mon] :: DateStruct -> !(Month cal) [_d_mday] :: DateStruct -> {-# UNPACK #-} !Day [_d_wday] :: DateStruct -> !(DayOfWeek cal) -- | A struct with time components. data TimeStruct TimeStruct :: {-# UNPACK #-} !Hour -> {-# UNPACK #-} !Minute -> {-# UNPACK #-} !Double -> TimeStruct [_t_hour] :: TimeStruct -> {-# UNPACK #-} !Hour [_t_min] :: TimeStruct -> {-# UNPACK #-} !Minute [_t_sec] :: TimeStruct -> {-# UNPACK #-} !Double -- | A struct with date and time components. data DateTimeStruct (cal :: Calendar) DateTimeStruct :: {-# UNPACK #-} !Year -> !(Month cal) -> {-# UNPACK #-} !Day -> !(DayOfWeek cal) -> {-# UNPACK #-} !Hour -> {-# UNPACK #-} !Minute -> {-# UNPACK #-} !Double -> DateTimeStruct [_dt_year] :: DateTimeStruct -> {-# UNPACK #-} !Year [_dt_mon] :: DateTimeStruct -> !(Month cal) [_dt_mday] :: DateTimeStruct -> {-# UNPACK #-} !Day [_dt_wday] :: DateTimeStruct -> !(DayOfWeek cal) [_dt_hour] :: DateTimeStruct -> {-# UNPACK #-} !Hour [_dt_min] :: DateTimeStruct -> {-# UNPACK #-} !Minute [_dt_sec] :: DateTimeStruct -> {-# UNPACK #-} !Double -- | A struct with date and time zone components. data LocalDateStruct (cal :: Calendar) LocalDateStruct :: {-# UNPACK #-} !Year -> !(Month cal) -> {-# UNPACK #-} !Day -> !(DayOfWeek cal) -> {-# UNPACK #-} !TimeZone -> LocalDateStruct [_ld_year] :: LocalDateStruct -> {-# UNPACK #-} !Year [_ld_mon] :: LocalDateStruct -> !(Month cal) [_ld_mday] :: LocalDateStruct -> {-# UNPACK #-} !Day [_ld_wday] :: LocalDateStruct -> !(DayOfWeek cal) [_ld_zone] :: LocalDateStruct -> {-# UNPACK #-} !TimeZone -- | A struct with time and time zone components. data LocalTimeStruct LocalTimeStruct :: {-# UNPACK #-} !Hour -> {-# UNPACK #-} !Minute -> {-# UNPACK #-} !Double -> {-# UNPACK #-} !TimeZone -> LocalTimeStruct [_lt_hour] :: LocalTimeStruct -> {-# UNPACK #-} !Hour [_lt_min] :: LocalTimeStruct -> {-# UNPACK #-} !Minute [_lt_sec] :: LocalTimeStruct -> {-# UNPACK #-} !Double [_lt_zone] :: LocalTimeStruct -> {-# UNPACK #-} !TimeZone -- | A struct with date, time, and time zone components. data LocalDateTimeStruct (cal :: Calendar) LocalDateTimeStruct :: {-# UNPACK #-} !Year -> !(Month cal) -> {-# UNPACK #-} !Day -> !(DayOfWeek cal) -> {-# UNPACK #-} !Hour -> {-# UNPACK #-} !Minute -> {-# UNPACK #-} !Double -> {-# UNPACK #-} !TimeZone -> LocalDateTimeStruct [_ldt_year] :: LocalDateTimeStruct -> {-# UNPACK #-} !Year [_ldt_mon] :: LocalDateTimeStruct -> !(Month cal) [_ldt_mday] :: LocalDateTimeStruct -> {-# UNPACK #-} !Day [_ldt_wday] :: LocalDateTimeStruct -> !(DayOfWeek cal) [_ldt_hour] :: LocalDateTimeStruct -> {-# UNPACK #-} !Hour [_ldt_min] :: LocalDateTimeStruct -> {-# UNPACK #-} !Minute [_ldt_sec] :: LocalDateTimeStruct -> {-# UNPACK #-} !Double [_ldt_zone] :: LocalDateTimeStruct -> {-# UNPACK #-} !TimeZone -- | Decompose a floating point number into second and millisecond -- components. properFracMillis :: RealFrac a => a -> (Second, Millis) -- | Decompose a floating point number into second and microsecond -- components. properFracMicros :: RealFrac a => a -> (Second, Micros) -- | Decompose a floating point number into second and nanosecond -- components. properFracNanos :: RealFrac a => a -> (Second, Nanos) -- | Decompose a floating point number into second and picosecond -- components. properFracPicos :: RealFrac a => a -> (Second, Picos) instance GHC.Generics.Generic (Data.Time.Exts.Base.LocalDateTimeStruct cal) instance GHC.Show.Show Data.Time.Exts.Base.LocalTimeStruct instance GHC.Generics.Generic Data.Time.Exts.Base.LocalTimeStruct instance GHC.Classes.Eq Data.Time.Exts.Base.LocalTimeStruct instance Data.Data.Data Data.Time.Exts.Base.LocalTimeStruct instance GHC.Generics.Generic (Data.Time.Exts.Base.LocalDateStruct cal) instance GHC.Generics.Generic (Data.Time.Exts.Base.DateTimeStruct cal) instance GHC.Show.Show Data.Time.Exts.Base.TimeStruct instance GHC.Generics.Generic Data.Time.Exts.Base.TimeStruct instance GHC.Classes.Eq Data.Time.Exts.Base.TimeStruct instance Data.Data.Data Data.Time.Exts.Base.TimeStruct instance GHC.Generics.Generic (Data.Time.Exts.Base.DateStruct cal) instance GHC.Real.Real Data.Time.Exts.Base.Picos instance GHC.Read.Read Data.Time.Exts.Base.Picos instance Text.Printf.PrintfArg Data.Time.Exts.Base.Picos instance GHC.Classes.Ord Data.Time.Exts.Base.Picos instance GHC.Num.Num Data.Time.Exts.Base.Picos instance Control.DeepSeq.NFData Data.Time.Exts.Base.Picos instance GHC.Real.Integral Data.Time.Exts.Base.Picos instance GHC.Generics.Generic Data.Time.Exts.Base.Picos instance GHC.Classes.Eq Data.Time.Exts.Base.Picos instance GHC.Enum.Enum Data.Time.Exts.Base.Picos instance Data.Data.Data Data.Time.Exts.Base.Picos instance GHC.Enum.Bounded Data.Time.Exts.Base.Picos instance GHC.Real.Real Data.Time.Exts.Base.Nanos instance GHC.Read.Read Data.Time.Exts.Base.Nanos instance Text.Printf.PrintfArg Data.Time.Exts.Base.Nanos instance GHC.Classes.Ord Data.Time.Exts.Base.Nanos instance GHC.Num.Num Data.Time.Exts.Base.Nanos instance Control.DeepSeq.NFData Data.Time.Exts.Base.Nanos instance GHC.Real.Integral Data.Time.Exts.Base.Nanos instance GHC.Generics.Generic Data.Time.Exts.Base.Nanos instance GHC.Classes.Eq Data.Time.Exts.Base.Nanos instance GHC.Enum.Enum Data.Time.Exts.Base.Nanos instance Data.Data.Data Data.Time.Exts.Base.Nanos instance GHC.Enum.Bounded Data.Time.Exts.Base.Nanos instance GHC.Real.Real Data.Time.Exts.Base.Micros instance GHC.Read.Read Data.Time.Exts.Base.Micros instance Text.Printf.PrintfArg Data.Time.Exts.Base.Micros instance GHC.Classes.Ord Data.Time.Exts.Base.Micros instance GHC.Num.Num Data.Time.Exts.Base.Micros instance Control.DeepSeq.NFData Data.Time.Exts.Base.Micros instance GHC.Real.Integral Data.Time.Exts.Base.Micros instance GHC.Generics.Generic Data.Time.Exts.Base.Micros instance GHC.Classes.Eq Data.Time.Exts.Base.Micros instance GHC.Enum.Enum Data.Time.Exts.Base.Micros instance Data.Data.Data Data.Time.Exts.Base.Micros instance GHC.Enum.Bounded Data.Time.Exts.Base.Micros instance GHC.Real.Real Data.Time.Exts.Base.Millis instance GHC.Read.Read Data.Time.Exts.Base.Millis instance Text.Printf.PrintfArg Data.Time.Exts.Base.Millis instance GHC.Classes.Ord Data.Time.Exts.Base.Millis instance GHC.Num.Num Data.Time.Exts.Base.Millis instance Control.DeepSeq.NFData Data.Time.Exts.Base.Millis instance GHC.Real.Integral Data.Time.Exts.Base.Millis instance GHC.Generics.Generic Data.Time.Exts.Base.Millis instance GHC.Classes.Eq Data.Time.Exts.Base.Millis instance GHC.Enum.Enum Data.Time.Exts.Base.Millis instance Data.Data.Data Data.Time.Exts.Base.Millis instance GHC.Enum.Bounded Data.Time.Exts.Base.Millis instance GHC.Real.Real Data.Time.Exts.Base.Second instance GHC.Read.Read Data.Time.Exts.Base.Second instance Text.Printf.PrintfArg Data.Time.Exts.Base.Second instance GHC.Classes.Ord Data.Time.Exts.Base.Second instance GHC.Num.Num Data.Time.Exts.Base.Second instance Control.DeepSeq.NFData Data.Time.Exts.Base.Second instance GHC.Real.Integral Data.Time.Exts.Base.Second instance GHC.Generics.Generic Data.Time.Exts.Base.Second instance GHC.Classes.Eq Data.Time.Exts.Base.Second instance GHC.Enum.Enum Data.Time.Exts.Base.Second instance Data.Data.Data Data.Time.Exts.Base.Second instance GHC.Enum.Bounded Data.Time.Exts.Base.Second instance GHC.Real.Real Data.Time.Exts.Base.Minute instance GHC.Read.Read Data.Time.Exts.Base.Minute instance Text.Printf.PrintfArg Data.Time.Exts.Base.Minute instance GHC.Classes.Ord Data.Time.Exts.Base.Minute instance GHC.Num.Num Data.Time.Exts.Base.Minute instance Control.DeepSeq.NFData Data.Time.Exts.Base.Minute instance GHC.Real.Integral Data.Time.Exts.Base.Minute instance GHC.Generics.Generic Data.Time.Exts.Base.Minute instance GHC.Classes.Eq Data.Time.Exts.Base.Minute instance GHC.Enum.Enum Data.Time.Exts.Base.Minute instance Data.Data.Data Data.Time.Exts.Base.Minute instance GHC.Enum.Bounded Data.Time.Exts.Base.Minute instance GHC.Real.Real Data.Time.Exts.Base.Hour instance GHC.Read.Read Data.Time.Exts.Base.Hour instance Text.Printf.PrintfArg Data.Time.Exts.Base.Hour instance GHC.Classes.Ord Data.Time.Exts.Base.Hour instance GHC.Num.Num Data.Time.Exts.Base.Hour instance Control.DeepSeq.NFData Data.Time.Exts.Base.Hour instance GHC.Real.Integral Data.Time.Exts.Base.Hour instance GHC.Generics.Generic Data.Time.Exts.Base.Hour instance GHC.Classes.Eq Data.Time.Exts.Base.Hour instance GHC.Enum.Enum Data.Time.Exts.Base.Hour instance Data.Data.Data Data.Time.Exts.Base.Hour instance GHC.Enum.Bounded Data.Time.Exts.Base.Hour instance GHC.Real.Real Data.Time.Exts.Base.Day instance GHC.Read.Read Data.Time.Exts.Base.Day instance Text.Printf.PrintfArg Data.Time.Exts.Base.Day instance GHC.Classes.Ord Data.Time.Exts.Base.Day instance GHC.Num.Num Data.Time.Exts.Base.Day instance Control.DeepSeq.NFData Data.Time.Exts.Base.Day instance GHC.Real.Integral Data.Time.Exts.Base.Day instance GHC.Generics.Generic Data.Time.Exts.Base.Day instance GHC.Classes.Eq Data.Time.Exts.Base.Day instance GHC.Enum.Enum Data.Time.Exts.Base.Day instance Data.Data.Data Data.Time.Exts.Base.Day instance GHC.Enum.Bounded Data.Time.Exts.Base.Day instance GHC.Real.Real Data.Time.Exts.Base.Year instance GHC.Read.Read Data.Time.Exts.Base.Year instance Text.Printf.PrintfArg Data.Time.Exts.Base.Year instance GHC.Classes.Ord Data.Time.Exts.Base.Year instance GHC.Num.Num Data.Time.Exts.Base.Year instance Control.DeepSeq.NFData Data.Time.Exts.Base.Year instance GHC.Real.Integral Data.Time.Exts.Base.Year instance GHC.Generics.Generic Data.Time.Exts.Base.Year instance GHC.Classes.Eq Data.Time.Exts.Base.Year instance GHC.Enum.Enum Data.Time.Exts.Base.Year instance Data.Data.Data Data.Time.Exts.Base.Year instance GHC.Enum.Bounded Data.Time.Exts.Base.Year instance GHC.Show.Show Data.Time.Exts.Base.Epoch instance GHC.Read.Read Data.Time.Exts.Base.Epoch instance GHC.Classes.Ord Data.Time.Exts.Base.Epoch instance GHC.Generics.Generic Data.Time.Exts.Base.Epoch instance GHC.Classes.Eq Data.Time.Exts.Base.Epoch instance GHC.Enum.Enum Data.Time.Exts.Base.Epoch instance Data.Data.Data Data.Time.Exts.Base.Epoch instance GHC.Enum.Bounded Data.Time.Exts.Base.Epoch instance GHC.Show.Show Data.Time.Exts.Base.Calendar instance GHC.Read.Read Data.Time.Exts.Base.Calendar instance GHC.Classes.Ord Data.Time.Exts.Base.Calendar instance GHC.Generics.Generic Data.Time.Exts.Base.Calendar instance GHC.Classes.Eq Data.Time.Exts.Base.Calendar instance GHC.Enum.Enum Data.Time.Exts.Base.Calendar instance Data.Data.Data Data.Time.Exts.Base.Calendar instance GHC.Enum.Bounded Data.Time.Exts.Base.Calendar instance GHC.Show.Show (Data.Time.Exts.Base.Era 'Data.Time.Exts.Base.Gregorian) instance GHC.Read.Read (Data.Time.Exts.Base.Era 'Data.Time.Exts.Base.Gregorian) instance GHC.Classes.Ord (Data.Time.Exts.Base.Era 'Data.Time.Exts.Base.Gregorian) instance GHC.Generics.Generic (Data.Time.Exts.Base.Era 'Data.Time.Exts.Base.Gregorian) instance GHC.Classes.Eq (Data.Time.Exts.Base.Era 'Data.Time.Exts.Base.Gregorian) instance GHC.Enum.Enum (Data.Time.Exts.Base.Era 'Data.Time.Exts.Base.Gregorian) instance Data.Data.Data (Data.Time.Exts.Base.Era 'Data.Time.Exts.Base.Gregorian) instance GHC.Enum.Bounded (Data.Time.Exts.Base.Era 'Data.Time.Exts.Base.Gregorian) instance GHC.Show.Show (Data.Time.Exts.Base.Month 'Data.Time.Exts.Base.Gregorian) instance GHC.Read.Read (Data.Time.Exts.Base.Month 'Data.Time.Exts.Base.Gregorian) instance GHC.Classes.Ord (Data.Time.Exts.Base.Month 'Data.Time.Exts.Base.Gregorian) instance GHC.Generics.Generic (Data.Time.Exts.Base.Month 'Data.Time.Exts.Base.Gregorian) instance GHC.Classes.Eq (Data.Time.Exts.Base.Month 'Data.Time.Exts.Base.Gregorian) instance Data.Data.Data (Data.Time.Exts.Base.Month 'Data.Time.Exts.Base.Gregorian) instance GHC.Enum.Bounded (Data.Time.Exts.Base.Month 'Data.Time.Exts.Base.Gregorian) instance GHC.Show.Show (Data.Time.Exts.Base.DayOfWeek 'Data.Time.Exts.Base.Gregorian) instance GHC.Read.Read (Data.Time.Exts.Base.DayOfWeek 'Data.Time.Exts.Base.Gregorian) instance GHC.Classes.Ord (Data.Time.Exts.Base.DayOfWeek 'Data.Time.Exts.Base.Gregorian) instance GHC.Generics.Generic (Data.Time.Exts.Base.DayOfWeek 'Data.Time.Exts.Base.Gregorian) instance GHC.Classes.Eq (Data.Time.Exts.Base.DayOfWeek 'Data.Time.Exts.Base.Gregorian) instance Data.Data.Data (Data.Time.Exts.Base.DayOfWeek 'Data.Time.Exts.Base.Gregorian) instance GHC.Enum.Bounded (Data.Time.Exts.Base.DayOfWeek 'Data.Time.Exts.Base.Gregorian) instance (Data.Data.Data (Data.Time.Exts.Base.Month cal), Data.Data.Data (Data.Time.Exts.Base.DayOfWeek cal), Data.Typeable.Internal.Typeable cal) => Data.Data.Data (Data.Time.Exts.Base.DateStruct cal) instance (Data.Data.Data (Data.Time.Exts.Base.Month cal), Data.Data.Data (Data.Time.Exts.Base.DayOfWeek cal), Data.Typeable.Internal.Typeable cal) => Data.Data.Data (Data.Time.Exts.Base.DateTimeStruct cal) instance (Data.Data.Data (Data.Time.Exts.Base.Month cal), Data.Data.Data (Data.Time.Exts.Base.DayOfWeek cal), Data.Typeable.Internal.Typeable cal) => Data.Data.Data (Data.Time.Exts.Base.LocalDateStruct cal) instance (Data.Data.Data (Data.Time.Exts.Base.Month cal), Data.Data.Data (Data.Time.Exts.Base.DayOfWeek cal), Data.Typeable.Internal.Typeable cal) => Data.Data.Data (Data.Time.Exts.Base.LocalDateTimeStruct cal) instance (GHC.Classes.Eq (Data.Time.Exts.Base.Month cal), GHC.Classes.Eq (Data.Time.Exts.Base.DayOfWeek cal)) => GHC.Classes.Eq (Data.Time.Exts.Base.DateStruct cal) instance (GHC.Classes.Eq (Data.Time.Exts.Base.Month cal), GHC.Classes.Eq (Data.Time.Exts.Base.DayOfWeek cal)) => GHC.Classes.Eq (Data.Time.Exts.Base.DateTimeStruct cal) instance (GHC.Classes.Eq (Data.Time.Exts.Base.Month cal), GHC.Classes.Eq (Data.Time.Exts.Base.DayOfWeek cal)) => GHC.Classes.Eq (Data.Time.Exts.Base.LocalDateStruct cal) instance (GHC.Classes.Eq (Data.Time.Exts.Base.Month cal), GHC.Classes.Eq (Data.Time.Exts.Base.DayOfWeek cal)) => GHC.Classes.Eq (Data.Time.Exts.Base.LocalDateTimeStruct cal) instance (GHC.Show.Show (Data.Time.Exts.Base.Month cal), GHC.Show.Show (Data.Time.Exts.Base.DayOfWeek cal)) => GHC.Show.Show (Data.Time.Exts.Base.DateStruct cal) instance (GHC.Show.Show (Data.Time.Exts.Base.Month cal), GHC.Show.Show (Data.Time.Exts.Base.DayOfWeek cal)) => GHC.Show.Show (Data.Time.Exts.Base.DateTimeStruct cal) instance (GHC.Show.Show (Data.Time.Exts.Base.Month cal), GHC.Show.Show (Data.Time.Exts.Base.DayOfWeek cal)) => GHC.Show.Show (Data.Time.Exts.Base.LocalDateStruct cal) instance (GHC.Show.Show (Data.Time.Exts.Base.Month cal), GHC.Show.Show (Data.Time.Exts.Base.DayOfWeek cal)) => GHC.Show.Show (Data.Time.Exts.Base.LocalDateTimeStruct cal) instance Control.DeepSeq.NFData Data.Time.Exts.Base.Calendar instance Control.DeepSeq.NFData Data.Time.Exts.Base.Epoch instance Control.DeepSeq.NFData (Data.Time.Exts.Base.Era 'Data.Time.Exts.Base.Gregorian) instance GHC.Show.Show Data.Time.Exts.Base.Year instance GHC.Enum.Enum (Data.Time.Exts.Base.Month 'Data.Time.Exts.Base.Gregorian) instance Control.DeepSeq.NFData (Data.Time.Exts.Base.Month 'Data.Time.Exts.Base.Gregorian) instance GHC.Show.Show Data.Time.Exts.Base.Day instance GHC.Enum.Enum (Data.Time.Exts.Base.DayOfWeek 'Data.Time.Exts.Base.Gregorian) instance Control.DeepSeq.NFData (Data.Time.Exts.Base.DayOfWeek 'Data.Time.Exts.Base.Gregorian) instance GHC.Show.Show Data.Time.Exts.Base.Hour instance GHC.Show.Show Data.Time.Exts.Base.Minute instance GHC.Show.Show Data.Time.Exts.Base.Second instance GHC.Show.Show Data.Time.Exts.Base.Millis instance GHC.Show.Show Data.Time.Exts.Base.Micros instance GHC.Show.Show Data.Time.Exts.Base.Nanos instance GHC.Show.Show Data.Time.Exts.Base.Picos instance (Control.DeepSeq.NFData (Data.Time.Exts.Base.Month cal), Control.DeepSeq.NFData (Data.Time.Exts.Base.DayOfWeek cal)) => Control.DeepSeq.NFData (Data.Time.Exts.Base.DateStruct cal) instance (Control.DeepSeq.NFData (Data.Time.Exts.Base.Month cal), Control.DeepSeq.NFData (Data.Time.Exts.Base.DayOfWeek cal)) => Control.DeepSeq.NFData (Data.Time.Exts.Base.DateTimeStruct cal) instance (Control.DeepSeq.NFData (Data.Time.Exts.Base.Month cal), Control.DeepSeq.NFData (Data.Time.Exts.Base.DayOfWeek cal)) => Control.DeepSeq.NFData (Data.Time.Exts.Base.LocalDateStruct cal) instance (Control.DeepSeq.NFData (Data.Time.Exts.Base.Month cal), Control.DeepSeq.NFData (Data.Time.Exts.Base.DayOfWeek cal)) => Control.DeepSeq.NFData (Data.Time.Exts.Base.LocalDateTimeStruct cal) instance Control.DeepSeq.NFData Data.Time.Exts.Base.TimeStruct instance Control.DeepSeq.NFData Data.Time.Exts.Base.LocalTimeStruct -- | A native implementation of Unix Time. module Data.Time.Exts.Unix -- | Days since Unix epoch. newtype UnixDate (cal :: Calendar) UnixDate :: Int32 -> UnixDate -- | Seconds since Unix epoch (excluding leap seconds). newtype UnixDateTime (cal :: Calendar) UnixDateTime :: Int64 -> UnixDateTime -- | Nanoseconds since Unix epoch (excluding leap seconds). data UnixDateTimeNanos (cal :: Calendar) UnixDateTimeNanos :: {-# UNPACK #-} !Int64 -> {-# UNPACK #-} !Int32 -> UnixDateTimeNanos -- | Create a Unix datestamp. createUnixDate :: Year -> Month Gregorian -> Day -> UnixDate Gregorian -- | Create a Unix timestamp. createUnixDateTime :: Year -> Month Gregorian -> Day -> Hour -> Minute -> Second -> UnixDateTime Gregorian -- | Create a Unix timestamp with nanosecond granularity. createUnixDateTimeNanos :: Year -> Month Gregorian -> Day -> Hour -> Minute -> Second -> Nanos -> UnixDateTimeNanos Gregorian -- | Get the current Unix datestamp from the system clock. getCurrentUnixDate :: IO (UnixDate Gregorian) -- | Get the current Unix timestamp from the system clock. getCurrentUnixDateTime :: IO (UnixDateTime Gregorian) -- | Get the current Unix timestamp with nanosecond granularity from the -- system clock. getCurrentUnixDateTimeNanos :: IO (UnixDateTimeNanos Gregorian) -- | Parse a Unix datestamp. parseUnixDate :: TimeLocale -> Format -> Text -> Either String (UnixDate Gregorian) -- | Parse a Unix timestamp. parseUnixDateTime :: TimeLocale -> Format -> Text -> Either String (UnixDateTime Gregorian) -- | Parse a Unix timestamp with nanosecond granularity. parseUnixDateTimeNanos :: TimeLocale -> Format -> Text -> Either String (UnixDateTimeNanos Gregorian) instance GHC.Classes.Ord (Data.Time.Exts.Unix.UnixDateTimeNanos cal) instance GHC.Generics.Generic (Data.Time.Exts.Unix.UnixDateTimeNanos cal) instance GHC.Classes.Eq (Data.Time.Exts.Unix.UnixDateTimeNanos cal) instance Data.Typeable.Internal.Typeable cal => Data.Data.Data (Data.Time.Exts.Unix.UnixDateTimeNanos cal) instance Foreign.Storable.Storable (Data.Time.Exts.Unix.UnixDateTime cal) instance GHC.Classes.Ord (Data.Time.Exts.Unix.UnixDateTime cal) instance Control.DeepSeq.NFData (Data.Time.Exts.Unix.UnixDateTime cal) instance GHC.Generics.Generic (Data.Time.Exts.Unix.UnixDateTime cal) instance GHC.Classes.Eq (Data.Time.Exts.Unix.UnixDateTime cal) instance Data.Typeable.Internal.Typeable cal => Data.Data.Data (Data.Time.Exts.Unix.UnixDateTime cal) instance Foreign.Storable.Storable (Data.Time.Exts.Unix.UnixDate cal) instance GHC.Classes.Ord (Data.Time.Exts.Unix.UnixDate cal) instance Control.DeepSeq.NFData (Data.Time.Exts.Unix.UnixDate cal) instance GHC.Generics.Generic (Data.Time.Exts.Unix.UnixDate cal) instance GHC.Classes.Eq (Data.Time.Exts.Unix.UnixDate cal) instance Data.Typeable.Internal.Typeable cal => Data.Data.Data (Data.Time.Exts.Unix.UnixDate cal) instance GHC.Enum.Bounded (Data.Time.Exts.Unix.UnixDate 'Data.Time.Exts.Base.Gregorian) instance GHC.Enum.Bounded (Data.Time.Exts.Unix.UnixDateTime 'Data.Time.Exts.Base.Gregorian) instance GHC.Enum.Bounded (Data.Time.Exts.Unix.UnixDateTimeNanos 'Data.Time.Exts.Base.Gregorian) instance GHC.Enum.Enum (Data.Time.Exts.Unix.UnixDate 'Data.Time.Exts.Base.Gregorian) instance GHC.Enum.Enum (Data.Time.Exts.Unix.UnixDateTime 'Data.Time.Exts.Base.Gregorian) instance Data.Time.Exts.Base.Human (Data.Time.Exts.Unix.UnixDate 'Data.Time.Exts.Base.Gregorian) instance Data.Time.Exts.Base.Human (Data.Time.Exts.Unix.UnixDateTime 'Data.Time.Exts.Base.Gregorian) instance Data.Time.Exts.Base.Human (Data.Time.Exts.Unix.UnixDateTimeNanos 'Data.Time.Exts.Base.Gregorian) instance Data.Time.Exts.Base.Math (Data.Time.Exts.Unix.UnixDate 'Data.Time.Exts.Base.Gregorian) Data.Time.Exts.Base.Day instance Data.Time.Exts.Base.Math (Data.Time.Exts.Unix.UnixDateTime 'Data.Time.Exts.Base.Gregorian) Data.Time.Exts.Base.Day instance Data.Time.Exts.Base.Math (Data.Time.Exts.Unix.UnixDateTime 'Data.Time.Exts.Base.Gregorian) Data.Time.Exts.Base.Hour instance Data.Time.Exts.Base.Math (Data.Time.Exts.Unix.UnixDateTime 'Data.Time.Exts.Base.Gregorian) Data.Time.Exts.Base.Minute instance Data.Time.Exts.Base.Math (Data.Time.Exts.Unix.UnixDateTime 'Data.Time.Exts.Base.Gregorian) Data.Time.Exts.Base.Second instance Data.Time.Exts.Base.Math (Data.Time.Exts.Unix.UnixDateTimeNanos 'Data.Time.Exts.Base.Gregorian) Data.Time.Exts.Base.Day instance Data.Time.Exts.Base.Math (Data.Time.Exts.Unix.UnixDateTimeNanos 'Data.Time.Exts.Base.Gregorian) Data.Time.Exts.Base.Hour instance Data.Time.Exts.Base.Math (Data.Time.Exts.Unix.UnixDateTimeNanos 'Data.Time.Exts.Base.Gregorian) Data.Time.Exts.Base.Minute instance Data.Time.Exts.Base.Math (Data.Time.Exts.Unix.UnixDateTimeNanos 'Data.Time.Exts.Base.Gregorian) Data.Time.Exts.Base.Second instance Data.Time.Exts.Base.Math (Data.Time.Exts.Unix.UnixDateTimeNanos 'Data.Time.Exts.Base.Gregorian) Data.Time.Exts.Base.Millis instance Data.Time.Exts.Base.Math (Data.Time.Exts.Unix.UnixDateTimeNanos 'Data.Time.Exts.Base.Gregorian) Data.Time.Exts.Base.Micros instance Data.Time.Exts.Base.Math (Data.Time.Exts.Unix.UnixDateTimeNanos 'Data.Time.Exts.Base.Gregorian) Data.Time.Exts.Base.Nanos instance Control.DeepSeq.NFData (Data.Time.Exts.Unix.UnixDateTimeNanos cal) instance System.Random.Random (Data.Time.Exts.Unix.UnixDate 'Data.Time.Exts.Base.Gregorian) instance System.Random.Random (Data.Time.Exts.Unix.UnixDateTime 'Data.Time.Exts.Base.Gregorian) instance System.Random.Random (Data.Time.Exts.Unix.UnixDateTimeNanos 'Data.Time.Exts.Base.Gregorian) instance GHC.Show.Show (Data.Time.Exts.Unix.UnixDate 'Data.Time.Exts.Base.Gregorian) instance GHC.Show.Show (Data.Time.Exts.Unix.UnixDateTime 'Data.Time.Exts.Base.Gregorian) instance GHC.Show.Show (Data.Time.Exts.Unix.UnixDateTimeNanos 'Data.Time.Exts.Base.Gregorian) instance Foreign.Storable.Storable (Data.Time.Exts.Unix.UnixDateTimeNanos cal) -- | A native implementation of Coordinated Universal Time. module Data.Time.Exts.UTC -- | Days since Unix epoch. newtype UTCDate cal UTCDate :: (UnixDate cal) -> UTCDate cal -- | Seconds since Unix epoch (including leap seconds). newtype UTCDateTime (cal :: Calendar) UTCDateTime :: Int64 -> UTCDateTime -- | Nanoseconds since Unix epoch (including leap seconds). data UTCDateTimeNanos (cal :: Calendar) UTCDateTimeNanos :: {-# UNPACK #-} !Int64 -> {-# UNPACK #-} !Int32 -> UTCDateTimeNanos -- | Create a UTC datestamp. createUTCDate :: Year -> Month Gregorian -> Day -> UTCDate Gregorian -- | Create a UTC timestamp. createUTCDateTime :: Year -> Month Gregorian -> Day -> Hour -> Minute -> Second -> UTCDateTime Gregorian -- | Create a UTC timestamp with nanosecond granularity. createUTCDateTimeNanos :: Year -> Month Gregorian -> Day -> Hour -> Minute -> Second -> Nanos -> UTCDateTimeNanos Gregorian -- | Get the current UTC datestamp from the system clock. getCurrentUTCDate :: IO (UTCDate Gregorian) -- | Get the current UTC timestamp from the system clock. getCurrentUTCDateTime :: IO (UTCDateTime Gregorian) -- | Get the current UTC timestamp with nanosecond granularity from the -- system clock. Any observed leap second will be spread out over the day -- to ensure nanosecond continuity at midnight. getCurrentUTCDateTimeNanos :: IO (UTCDateTimeNanos Gregorian) -- | Parse a UTC datestamp. parseUTCDate :: TimeLocale -> Format -> Text -> Either String (UTCDate Gregorian) -- | Parse a UTC timestamp. parseUTCDateTime :: TimeLocale -> Format -> Text -> Either String (UTCDateTime Gregorian) -- | Parse a UTC timestamp with nanosecond granularity. parseUTCDateTimeNanos :: TimeLocale -> Format -> Text -> Either String (UTCDateTimeNanos Gregorian) instance GHC.Classes.Ord (Data.Time.Exts.UTC.UTCDateTimeNanos cal) instance GHC.Generics.Generic (Data.Time.Exts.UTC.UTCDateTimeNanos cal) instance GHC.Classes.Eq (Data.Time.Exts.UTC.UTCDateTimeNanos cal) instance Data.Typeable.Internal.Typeable cal => Data.Data.Data (Data.Time.Exts.UTC.UTCDateTimeNanos cal) instance Foreign.Storable.Storable (Data.Time.Exts.UTC.UTCDateTime cal) instance GHC.Classes.Ord (Data.Time.Exts.UTC.UTCDateTime cal) instance Control.DeepSeq.NFData (Data.Time.Exts.UTC.UTCDateTime cal) instance GHC.Generics.Generic (Data.Time.Exts.UTC.UTCDateTime cal) instance GHC.Classes.Eq (Data.Time.Exts.UTC.UTCDateTime cal) instance Data.Typeable.Internal.Typeable cal => Data.Data.Data (Data.Time.Exts.UTC.UTCDateTime cal) instance Foreign.Storable.Storable (Data.Time.Exts.UTC.UTCDate cal) instance GHC.Classes.Ord (Data.Time.Exts.UTC.UTCDate cal) instance Control.DeepSeq.NFData (Data.Time.Exts.UTC.UTCDate cal) instance GHC.Generics.Generic (Data.Time.Exts.UTC.UTCDate cal) instance GHC.Classes.Eq (Data.Time.Exts.UTC.UTCDate cal) instance Data.Typeable.Internal.Typeable cal => Data.Data.Data (Data.Time.Exts.UTC.UTCDate cal) instance GHC.Enum.Bounded (Data.Time.Exts.UTC.UTCDate 'Data.Time.Exts.Base.Gregorian) instance GHC.Enum.Enum (Data.Time.Exts.UTC.UTCDate 'Data.Time.Exts.Base.Gregorian) instance System.Random.Random (Data.Time.Exts.UTC.UTCDate 'Data.Time.Exts.Base.Gregorian) instance GHC.Enum.Bounded (Data.Time.Exts.UTC.UTCDateTime 'Data.Time.Exts.Base.Gregorian) instance GHC.Enum.Bounded (Data.Time.Exts.UTC.UTCDateTimeNanos 'Data.Time.Exts.Base.Gregorian) instance GHC.Enum.Enum (Data.Time.Exts.UTC.UTCDateTime 'Data.Time.Exts.Base.Gregorian) instance Data.Time.Exts.Base.Human (Data.Time.Exts.UTC.UTCDate 'Data.Time.Exts.Base.Gregorian) instance Data.Time.Exts.Base.Human (Data.Time.Exts.UTC.UTCDateTime 'Data.Time.Exts.Base.Gregorian) instance Data.Time.Exts.Base.Human (Data.Time.Exts.UTC.UTCDateTimeNanos 'Data.Time.Exts.Base.Gregorian) instance Data.Time.Exts.Base.Math (Data.Time.Exts.UTC.UTCDate 'Data.Time.Exts.Base.Gregorian) Data.Time.Exts.Base.Day instance Data.Time.Exts.Base.Math (Data.Time.Exts.UTC.UTCDateTime 'Data.Time.Exts.Base.Gregorian) Data.Time.Exts.Base.Second instance Data.Time.Exts.Base.Math (Data.Time.Exts.UTC.UTCDateTimeNanos 'Data.Time.Exts.Base.Gregorian) Data.Time.Exts.Base.Second instance Data.Time.Exts.Base.Math (Data.Time.Exts.UTC.UTCDateTimeNanos 'Data.Time.Exts.Base.Gregorian) Data.Time.Exts.Base.Millis instance Data.Time.Exts.Base.Math (Data.Time.Exts.UTC.UTCDateTimeNanos 'Data.Time.Exts.Base.Gregorian) Data.Time.Exts.Base.Micros instance Data.Time.Exts.Base.Math (Data.Time.Exts.UTC.UTCDateTimeNanos 'Data.Time.Exts.Base.Gregorian) Data.Time.Exts.Base.Nanos instance Control.DeepSeq.NFData (Data.Time.Exts.UTC.UTCDateTimeNanos cal) instance System.Random.Random (Data.Time.Exts.UTC.UTCDateTime 'Data.Time.Exts.Base.Gregorian) instance System.Random.Random (Data.Time.Exts.UTC.UTCDateTimeNanos 'Data.Time.Exts.Base.Gregorian) instance GHC.Show.Show (Data.Time.Exts.UTC.UTCDate 'Data.Time.Exts.Base.Gregorian) instance GHC.Show.Show (Data.Time.Exts.UTC.UTCDateTime 'Data.Time.Exts.Base.Gregorian) instance GHC.Show.Show (Data.Time.Exts.UTC.UTCDateTimeNanos 'Data.Time.Exts.Base.Gregorian) instance Foreign.Storable.Storable (Data.Time.Exts.UTC.UTCDateTimeNanos cal) -- | A stand-alone time library implementing Unix and UTC timestamps with -- varying granularity. module Data.Time.Exts