-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Yet another time library
--
-- Yet another time library
@package time-exts
@version 3.0.2
-- | A list of time format directives.
module Data.Time.Exts.Format
-- | Format text is composed of time format directives, each matching data
-- described below.
--
--
-- - %% % literal.
-- - %A Full weekday name according to the current
-- locale.
-- - %B Full month name according to the current
-- locale.
-- - %D Equivalent to %m/%d/%y.
-- - %F Equivalent to %Y-%m-%d.
-- - %H Hour of the day using the 24-hour clock
-- (00..23).
-- - %I Hour of the day using the 12-hour clock
-- (01..12).
-- - %M Minute of the hour (00..59).
-- - %P Like %p, the period of the day according to the
-- current locale, but lowercase.
-- - %R Equivalent to %H:%M.
-- - %S Second of the minute (00..60).
-- - %T Equivalent to %H:%M:%S.
-- - %Y Year of the era (1970..9999).
-- - %Z Alphabetic time zone abbreviation.
-- - %a Abbreviated weekday name according to the
-- current locale.
-- - %b Abbreviated month name according to the current
-- locale.
-- - %d Day of the month (01..31).
-- - %e Like %d, the day of the month, but a leading
-- zero is replaced with a space.
-- - %f Fraction of the second prefixed by a period
-- (.0..999999999).
-- - %h Equivalent to %b.
-- - %l Like %I, the hour of the day using the 12-hour
-- clock, but a leading zero is replaced with a space.
-- - %m Month of the year (01..12).
-- - %p Period of the day according to the current
-- locale.
-- - %r Equivalent to %I:%M:%S %p.
-- - %y Year of the era without the century
-- (00..99).
-- - %z Numeric time zone.
--
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