-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A performant time library -- -- Performance-oriented time library for haskell. The main differences -- between this and "time" are that this library: -- -- @package chronos @version 0.4 -- | Data types for representing different date and time-related -- information. -- -- Internally, the types Int and Int64 are used to -- represent everything. These are used even when negative values are not -- appropriate and even if a smaller fixed-size integer could hold the -- information. The only cases when Int64 is used are when it is -- neccessary to represent values with numbers 2^29 or higher. -- These are typically fields that represent nanoseconds. -- -- Unlike the types in the venerable time library, the types -- here do not allow the user to work with all dates. Since this library -- uses fixed-precision integral values instead of Integer, all of -- the usual problems with overflow should be considered. Notably, -- PosixTime and TaiTime can only be used to represent time -- between the years 1680 and 2260. All other types in this library -- correctly represent time a million years before or after 1970. -- -- The vector unbox instances, not yet available, will store data in a -- reasonably compact manner. For example, the instance for Day -- has three unboxed vectors: Int for the year, Int8 for -- the month, and Int8 for the day. This only causes corruption of -- data if the user is trying to use out-of-bounds values for the month -- and the day. Users are advised to not use the data types provided here -- to model non-existent times. module Chronos.Types -- | A day represented as the modified Julian date, the number of days -- since midnight on November 17, 1858. newtype Day Day :: Int -> Day [getDay] :: Day -> Int -- | The day of the week. newtype DayOfWeek DayOfWeek :: Int -> DayOfWeek [getDayOfWeek] :: DayOfWeek -> Int -- | The day of the month. newtype DayOfMonth DayOfMonth :: Int -> DayOfMonth [getDayOfMonth] :: DayOfMonth -> Int -- | The day of the year. newtype DayOfYear DayOfYear :: Int -> DayOfYear [getDayOfYear] :: DayOfYear -> Int -- | The month of the year. newtype Month Month :: Int -> Month [getMonth] :: Month -> Int -- | The number of years elapsed since the beginning of the Common Era. newtype Year Year :: Int -> Year [getYear] :: Year -> Int newtype Offset Offset :: Int -> Offset [getOffset] :: Offset -> Int -- | TAI time with nanosecond resolution. newtype TaiTime TaiTime :: Int64 -> TaiTime [getTaiTime] :: TaiTime -> Int64 -- | POSIX time with nanosecond resolution. newtype PosixTime PosixTime :: Int64 -> PosixTime [getPosixTime] :: PosixTime -> Int64 data UtcTime UtcTime :: {-# UNPACK #-} !Day -> {-# UNPACK #-} !Int64 -> UtcTime [utcTimeDate] :: UtcTime -> {-# UNPACK #-} !Day [utcTimeNanoseconds] :: UtcTime -> {-# UNPACK #-} !Int64 newtype DayOfWeekMatch a DayOfWeekMatch :: Vector a -> DayOfWeekMatch a [getDayOfWeekMatch] :: DayOfWeekMatch a -> Vector a newtype MonthMatch a MonthMatch :: Vector a -> MonthMatch a [getMonthMatch] :: MonthMatch a -> Vector a newtype UnboxedMonthMatch a UnboxedMonthMatch :: Vector a -> UnboxedMonthMatch a [getUnboxedMonthMatch] :: UnboxedMonthMatch a -> Vector a -- | A nanosecond duration. newtype Nanoseconds Nanoseconds :: Int64 -> Nanoseconds [getNanoseconds] :: Nanoseconds -> Int64 -- | The precision used when encoding seconds to a human-readable format. data SubsecondPrecision -- | Rounds to second, millisecond, microsecond, or nanosecond SubsecondPrecisionAuto :: SubsecondPrecision -- | Specify number of places after decimal SubsecondPrecisionFixed :: {-# UNPACK #-} !Int -> SubsecondPrecision -- | A date as represented by the Gregorian calendar. data Date Date :: {-# UNPACK #-} !Year -> {-# UNPACK #-} !Month -> {-# UNPACK #-} !DayOfMonth -> Date [dateYear] :: Date -> {-# UNPACK #-} !Year [dateMonth] :: Date -> {-# UNPACK #-} !Month [dateDay] :: Date -> {-# UNPACK #-} !DayOfMonth -- | The year and number of days elapsed since the beginning it began. data OrdinalDate OrdinalDate :: {-# UNPACK #-} !Year -> {-# UNPACK #-} !DayOfYear -> OrdinalDate [ordinalDateYear] :: OrdinalDate -> {-# UNPACK #-} !Year [ordinalDateDayOfYear] :: OrdinalDate -> {-# UNPACK #-} !DayOfYear -- | A month and the day of the month. This does not actually represent a -- specific date, since this recurs every year. data MonthDate MonthDate :: {-# UNPACK #-} !Month -> {-# UNPACK #-} !DayOfMonth -> MonthDate [monthDateMonth] :: MonthDate -> {-# UNPACK #-} !Month [monthDateDay] :: MonthDate -> {-# UNPACK #-} !DayOfMonth -- | A date as represented by the Gregorian calendar and a time of day. data Datetime Datetime :: {-# UNPACK #-} !Date -> {-# UNPACK #-} !TimeOfDay -> Datetime [datetimeDate] :: Datetime -> {-# UNPACK #-} !Date [datetimeTime] :: Datetime -> {-# UNPACK #-} !TimeOfDay data OffsetDatetime OffsetDatetime :: {-# UNPACK #-} !Datetime -> {-# UNPACK #-} !Offset -> OffsetDatetime [offsetDatetimeDatetime] :: OffsetDatetime -> {-# UNPACK #-} !Datetime [offsetDatetimeOffset] :: OffsetDatetime -> {-# UNPACK #-} !Offset -- | A time of day with nanosecond resolution. data TimeOfDay TimeOfDay :: {-# UNPACK #-} !Int -> {-# UNPACK #-} !Int -> {-# UNPACK #-} !Int64 -> TimeOfDay [timeOfDayHour] :: TimeOfDay -> {-# UNPACK #-} !Int [timeOfDayMinute] :: TimeOfDay -> {-# UNPACK #-} !Int [timeOfDayNanoseconds] :: TimeOfDay -> {-# UNPACK #-} !Int64 data DatetimeFormat DatetimeFormat :: !(Maybe Char) -> !(Maybe Char) -> !(Maybe Char) -> DatetimeFormat -- | Separator in the date [datetimeFormatDateSeparator] :: DatetimeFormat -> !(Maybe Char) -- | Separator between date and time [datetimeFormatSeparator] :: DatetimeFormat -> !(Maybe Char) -- | Separator in the time [datetimeFormatTimeSeparator] :: DatetimeFormat -> !(Maybe Char) -- | Formatting settings for a timezone offset. data OffsetFormat -- | %z (e.g., -0400) OffsetFormatColonOff :: OffsetFormat -- | %:z (e.g., -04:00) OffsetFormatColonOn :: OffsetFormat -- | %::z (e.g., -04:00:00) OffsetFormatSecondsPrecision :: OffsetFormat -- | %:::z (e.g., -04, +05:30) OffsetFormatColonAuto :: OffsetFormat -- | Locale-specific formatting for weekdays and months. The type variable -- will likely be instantiated to Text or ByteString. data DatetimeLocale a DatetimeLocale :: !(DayOfWeekMatch a) -> !(DayOfWeekMatch a) -> !(MonthMatch a) -> !(MonthMatch a) -> DatetimeLocale a -- | full weekdays starting with Sunday, 7 elements [datetimeLocaleDaysOfWeekFull] :: DatetimeLocale a -> !(DayOfWeekMatch a) -- | abbreviated weekdays starting with Sunday, 7 elements [datetimeLocaleDaysOfWeekAbbreviated] :: DatetimeLocale a -> !(DayOfWeekMatch a) -- | full months starting with January, 12 elements [datetimeLocaleMonthsFull] :: DatetimeLocale a -> !(MonthMatch a) -- | abbreviated months starting with January, 12 elements [datetimeLocaleMonthsAbbreviated] :: DatetimeLocale a -> !(MonthMatch a) -- | Locale-specific formatting for AM and PM. data MeridiemLocale a MeridiemLocale :: !a -> !a -> MeridiemLocale a [meridiemLocaleAm] :: MeridiemLocale a -> !a [meridiemLocalePm] :: MeridiemLocale a -> !a instance GHC.Classes.Ord a => GHC.Classes.Ord (Chronos.Types.MeridiemLocale a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Chronos.Types.MeridiemLocale a) instance GHC.Show.Show a => GHC.Show.Show (Chronos.Types.MeridiemLocale a) instance GHC.Read.Read a => GHC.Read.Read (Chronos.Types.MeridiemLocale a) instance GHC.Generics.Generic Chronos.Types.OffsetFormat instance GHC.Enum.Bounded Chronos.Types.OffsetFormat instance GHC.Enum.Enum Chronos.Types.OffsetFormat instance GHC.Classes.Ord Chronos.Types.OffsetFormat instance GHC.Classes.Eq Chronos.Types.OffsetFormat instance GHC.Read.Read Chronos.Types.OffsetFormat instance GHC.Show.Show Chronos.Types.OffsetFormat instance GHC.Classes.Ord Chronos.Types.DatetimeFormat instance GHC.Classes.Eq Chronos.Types.DatetimeFormat instance GHC.Read.Read Chronos.Types.DatetimeFormat instance GHC.Show.Show Chronos.Types.DatetimeFormat instance GHC.Classes.Ord Chronos.Types.UtcTime instance GHC.Classes.Eq Chronos.Types.UtcTime instance GHC.Read.Read Chronos.Types.UtcTime instance GHC.Show.Show Chronos.Types.UtcTime instance GHC.Classes.Ord Chronos.Types.OffsetDatetime instance GHC.Classes.Eq Chronos.Types.OffsetDatetime instance GHC.Read.Read Chronos.Types.OffsetDatetime instance GHC.Show.Show Chronos.Types.OffsetDatetime instance GHC.Classes.Ord Chronos.Types.Datetime instance GHC.Classes.Eq Chronos.Types.Datetime instance GHC.Read.Read Chronos.Types.Datetime instance GHC.Show.Show Chronos.Types.Datetime instance GHC.Classes.Ord Chronos.Types.TimeOfDay instance GHC.Classes.Eq Chronos.Types.TimeOfDay instance GHC.Read.Read Chronos.Types.TimeOfDay instance GHC.Show.Show Chronos.Types.TimeOfDay instance GHC.Classes.Ord Chronos.Types.MonthDate instance GHC.Classes.Eq Chronos.Types.MonthDate instance GHC.Read.Read Chronos.Types.MonthDate instance GHC.Show.Show Chronos.Types.MonthDate instance GHC.Classes.Ord Chronos.Types.OrdinalDate instance GHC.Classes.Eq Chronos.Types.OrdinalDate instance GHC.Read.Read Chronos.Types.OrdinalDate instance GHC.Show.Show Chronos.Types.OrdinalDate instance GHC.Classes.Ord Chronos.Types.Date instance GHC.Classes.Eq Chronos.Types.Date instance GHC.Read.Read Chronos.Types.Date instance GHC.Show.Show Chronos.Types.Date instance Data.Aeson.Types.FromJSON.FromJSON Chronos.Types.Nanoseconds instance Data.Aeson.Types.ToJSON.ToJSON Chronos.Types.Nanoseconds instance GHC.Classes.Ord Chronos.Types.Nanoseconds instance GHC.Classes.Eq Chronos.Types.Nanoseconds instance GHC.Read.Read Chronos.Types.Nanoseconds instance GHC.Show.Show Chronos.Types.Nanoseconds instance GHC.Read.Read Chronos.Types.PosixTime instance GHC.Show.Show Chronos.Types.PosixTime instance GHC.Classes.Ord Chronos.Types.PosixTime instance GHC.Classes.Eq Chronos.Types.PosixTime instance Data.Hashable.Class.Hashable Chronos.Types.PosixTime instance Data.Aeson.Types.ToJSON.ToJSON Chronos.Types.PosixTime instance Data.Aeson.Types.FromJSON.FromJSON Chronos.Types.PosixTime instance GHC.Read.Read Chronos.Types.TaiTime instance GHC.Show.Show Chronos.Types.TaiTime instance GHC.Classes.Ord Chronos.Types.TaiTime instance GHC.Classes.Eq Chronos.Types.TaiTime instance Data.Hashable.Class.Hashable Chronos.Types.TaiTime instance Data.Aeson.Types.ToJSON.ToJSON Chronos.Types.TaiTime instance Data.Aeson.Types.FromJSON.FromJSON Chronos.Types.TaiTime instance GHC.Classes.Ord Chronos.Types.Offset instance GHC.Classes.Eq Chronos.Types.Offset instance GHC.Read.Read Chronos.Types.Offset instance GHC.Show.Show Chronos.Types.Offset instance GHC.Classes.Ord Chronos.Types.Year instance GHC.Classes.Eq Chronos.Types.Year instance GHC.Read.Read Chronos.Types.Year instance GHC.Show.Show Chronos.Types.Year instance Data.Primitive.Types.Prim Chronos.Types.Month instance GHC.Classes.Ord Chronos.Types.Month instance GHC.Classes.Eq Chronos.Types.Month instance GHC.Read.Read Chronos.Types.Month instance GHC.Show.Show Chronos.Types.Month instance Data.Primitive.Types.Prim Chronos.Types.DayOfYear instance GHC.Classes.Ord Chronos.Types.DayOfYear instance GHC.Classes.Eq Chronos.Types.DayOfYear instance GHC.Read.Read Chronos.Types.DayOfYear instance GHC.Show.Show Chronos.Types.DayOfYear instance GHC.Enum.Enum Chronos.Types.DayOfMonth instance Data.Primitive.Types.Prim Chronos.Types.DayOfMonth instance GHC.Classes.Ord Chronos.Types.DayOfMonth instance GHC.Classes.Eq Chronos.Types.DayOfMonth instance GHC.Read.Read Chronos.Types.DayOfMonth instance GHC.Show.Show Chronos.Types.DayOfMonth instance Data.Hashable.Class.Hashable Chronos.Types.DayOfWeek instance GHC.Classes.Ord Chronos.Types.DayOfWeek instance GHC.Classes.Eq Chronos.Types.DayOfWeek instance GHC.Read.Read Chronos.Types.DayOfWeek instance GHC.Show.Show Chronos.Types.DayOfWeek instance Data.Aeson.Types.FromJSON.FromJSON Chronos.Types.Day instance Data.Aeson.Types.ToJSON.ToJSON Chronos.Types.Day instance GHC.Enum.Enum Chronos.Types.Day instance Data.Hashable.Class.Hashable Chronos.Types.Day instance GHC.Classes.Ord Chronos.Types.Day instance GHC.Classes.Eq Chronos.Types.Day instance GHC.Read.Read Chronos.Types.Day instance GHC.Show.Show Chronos.Types.Day instance GHC.Enum.Bounded Chronos.Types.Month instance Data.Vector.Unboxed.Base.Unbox Chronos.Types.Month instance Data.Vector.Generic.Mutable.Base.MVector Data.Vector.Unboxed.Base.MVector Chronos.Types.Month instance Data.Vector.Generic.Base.Vector Data.Vector.Unboxed.Base.Vector Chronos.Types.Month instance Data.Vector.Unboxed.Base.Unbox Chronos.Types.DayOfMonth instance Data.Vector.Generic.Mutable.Base.MVector Data.Vector.Unboxed.Base.MVector Chronos.Types.DayOfMonth instance Data.Vector.Generic.Base.Vector Data.Vector.Unboxed.Base.Vector Chronos.Types.DayOfMonth module Chronos.Tai epoch :: TaiTime add :: Nanoseconds -> TaiTime -> TaiTime diff :: TaiTime -> TaiTime -> Nanoseconds -- | Functions that operate on Nanoseconds. All of these functions -- have trivial implementations and are provided for convenience. This -- module is intended to be imported qualified. module Chronos.Nanoseconds add :: Nanoseconds -> Nanoseconds -> Nanoseconds scale :: Int64 -> Nanoseconds -> Nanoseconds negate :: Nanoseconds -> Nanoseconds fromSeconds :: Int64 -> Nanoseconds fromMinutes :: Int64 -> Nanoseconds fromHours :: Int64 -> Nanoseconds fromDays :: Int64 -> Nanoseconds fromWeeks :: Int64 -> Nanoseconds module Chronos.Match buildDayOfWeekMatch :: a -> a -> a -> a -> a -> a -> a -> DayOfWeekMatch a buildMonthMatch :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> MonthMatch a module Chronos.Internal.CTimespec -- | Get the current POSIX time from the system clock. getPosixNanoseconds :: IO Int64 instance Foreign.Storable.Storable Chronos.Internal.CTimespec.CTimespec module Chronos.Internal parseFixedDigits :: Int -> Parser Int parseFixedDigitsIntBS :: Int -> Parser Int raiseTenTo :: Int -> Int64 tenRaisedToSmallPowers :: Vector Int64 -- | Only provide positive numbers to this function. indexTwoDigitTextBuilder :: Int -> Builder -- | Only provide positive numbers to this function. indexTwoDigitByteStringBuilder :: Int -> Builder twoDigitByteStringBuilder :: Vector Builder twoDigitTextBuilder :: Vector Builder twoDigitStrings :: [String] countDigits :: (Integral a) => a -> Int clip :: (Ord t) => t -> t -> t -> t module Chronos.Internal.Conversion dayLengthInt64 :: Int64 nanosecondsInMinute :: Int64 -- | The first argument in the resulting tuple in a day adjustment. It -- should be either -1, 0, or 1, as no offset should ever exceed 24 -- hours. offsetTimeOfDay :: Offset -> TimeOfDay -> (Int, TimeOfDay) nanosecondsSinceMidnightToTimeOfDay :: Int64 -> TimeOfDay timeOfDayToNanosecondsSinceMidnight :: TimeOfDay -> Int64 dayToDate :: Day -> Date utcTimeToOffsetDatetime :: Offset -> UtcTime -> OffsetDatetime utcTimeToDatetime :: UtcTime -> Datetime datetimeToUtcTime :: Datetime -> UtcTime offsetDatetimeToUtcTime :: OffsetDatetime -> UtcTime dateToDay :: Date -> Day monthDateToDayOfYear :: Bool -> MonthDate -> DayOfYear ordinalDateToDay :: OrdinalDate -> Day isLeapYear :: Year -> Bool dayOfYearToMonthAndDay :: Bool -> DayOfYear -> MonthDate dayToOrdinalDate :: Day -> OrdinalDate internalBuildDayOfWeekMatch :: a -> a -> a -> a -> a -> a -> a -> DayOfWeekMatch a internalBuildMonthMatch :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> MonthMatch a internalMatchMonth :: MonthMatch a -> Month -> a monthLength :: Bool -> Month -> Int leapYearMonthLength :: MonthMatch Int normalYearMonthLength :: MonthMatch Int leapYearDayOfYearDayOfMonthTable :: Vector DayOfMonth normalYearDayOfYearDayOfMonthTable :: Vector DayOfMonth leapYearDayOfYearMonthTable :: Vector Month normalYearDayOfYearMonthTable :: Vector Month addDay :: Int -> Day -> Day diffDay :: Day -> Day -> Int module Chronos.Month month :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Month -> a match :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> MonthMatch a deconstruct :: MonthMatch a -> Month -> a module Chronos.Locale.English.Text datetimeW3 :: DatetimeFormat datetimeSlash :: DatetimeFormat datetimeHyphen :: DatetimeFormat datetimeCompact :: DatetimeFormat meridiemLower :: MeridiemLocale Text meridiemUpper :: MeridiemLocale Text meridiemLowerDotted :: MeridiemLocale Text meridiemUpperDotted :: MeridiemLocale Text monthFull :: MonthMatch Text monthAbbreviated :: MonthMatch Text module Chronos.Posix epoch :: PosixTime epochDay :: Day dayLength :: Nanoseconds add :: Nanoseconds -> PosixTime -> PosixTime diff :: PosixTime -> PosixTime -> Nanoseconds -- | This probably needs to be wrapped in a bunch of CPP like the one in -- time is. now :: IO PosixTime -- | This may be wrong for dates before what we count as the first modified -- julian day. toUtc :: PosixTime -> UtcTime fromUtc :: UtcTime -> PosixTime toDatetime :: PosixTime -> Datetime toOffsetDatetime :: Offset -> PosixTime -> OffsetDatetime fromDatetime :: Datetime -> PosixTime fromOffsetDatetime :: OffsetDatetime -> PosixTime truncateToDay :: PosixTime -> Day -- | The PosixTime at midnight on the given day. fromDay :: Day -> PosixTime module Chronos.Internal.Format monthToZeroPaddedDigit :: Month -> Builder zeroPadDayOfMonth :: DayOfMonth -> Builder monthToZeroPaddedDigitBS :: Month -> Builder zeroPadDayOfMonthBS :: DayOfMonth -> Builder -- | Functions for encoding TimeOfDay to ByteString. Any -- encoding that is a superset of ASCII is compatible with the functions -- in this module. This includes UTF-8 and ISO-8859-15 but does not -- include UTF-16 or UTF-32. module Chronos.TimeOfDay.ByteString.Char7 -- | This could be written much more efficiently since we know the exact -- size the resulting Text will be. builder_HMS :: SubsecondPrecision -> Maybe Char -> TimeOfDay -> Builder builder_IMS_p :: MeridiemLocale ByteString -> SubsecondPrecision -> Maybe Char -> TimeOfDay -> Builder internalBuilder_I :: Int -> Builder internalBuilder_p :: MeridiemLocale ByteString -> Int -> Builder builder_IMSp :: MeridiemLocale ByteString -> SubsecondPrecision -> Maybe Char -> TimeOfDay -> Builder parser_HMS :: Maybe Char -> Parser TimeOfDay -- | Parses text that is formatted as either of the following: -- -- -- -- That is, the seconds and subseconds part is optional. If it is not -- provided, it is assumed to be zero. This format shows up in Google -- Chrome's datetime-local inputs. parser_HMS_opt_S :: Maybe Char -> Parser TimeOfDay parseSecondsAndNanoseconds :: Parser Int64 countZeroes :: Parser Int nanosecondsBuilder :: Int64 -> Builder microsecondsBuilder :: Int64 -> Builder millisecondsBuilder :: Int64 -> Builder prettyNanosecondsBuilder :: SubsecondPrecision -> Int64 -> Builder int64Builder :: Int64 -> Builder internalBuilder_NS :: SubsecondPrecision -> Maybe Char -> Int -> Int64 -> Builder module Chronos.TimeOfDay.Text -- | This could be written much more efficiently since we know the exact -- size the resulting Text will be. builder_HMS :: SubsecondPrecision -> Maybe Char -> TimeOfDay -> Builder builder_IMS_p :: MeridiemLocale Text -> SubsecondPrecision -> Maybe Char -> TimeOfDay -> Builder internalBuilder_I :: Int -> Builder internalBuilder_p :: MeridiemLocale Text -> Int -> Builder builder_IMSp :: MeridiemLocale Text -> SubsecondPrecision -> Maybe Char -> TimeOfDay -> Builder parser_HMS :: Maybe Char -> Parser TimeOfDay -- | Parses text that is formatted as either of the following: -- -- -- -- That is, the seconds and subseconds part is optional. If it is not -- provided, it is assumed to be zero. This format shows up in Google -- Chrome's datetime-local inputs. parser_HMS_opt_S :: Maybe Char -> Parser TimeOfDay parseSecondsAndNanoseconds :: Parser Int64 countZeroes :: Parser Int nanosecondsBuilder :: Int64 -> Builder microsecondsBuilder :: Int64 -> Builder millisecondsBuilder :: Int64 -> Builder prettyNanosecondsBuilder :: SubsecondPrecision -> Int64 -> Builder internalBuilder_NS :: SubsecondPrecision -> Maybe Char -> Int -> Int64 -> Builder module Chronos.Day -- | Offset by the given number of days. To accomplish subtraction, provide -- a negative number. add :: Int -> Day -> Day -- | Take the difference between two days. diff :: Day -> Day -> Int -- | Gets the current POSIX day. This does not take the user's time zone -- into account. today :: IO Day tomorrow :: IO Day yesterday :: IO Day toDate :: Day -> Date fromDate :: Date -> Day module Chronos.Datetime fromYmdhms :: Int -> Int -> Int -> Int -> Int -> Int -> Datetime module Chronos.Date.Text -- | This could be written much more efficiently since we know the exact -- size the resulting Text will be. builder_Ymd :: Maybe Char -> Date -> Builder parser_Ymd :: Maybe Char -> Parser Date module Chronos.Datetime.Text encode_YmdHMS :: SubsecondPrecision -> DatetimeFormat -> Datetime -> Text encode_YmdIMS_p :: MeridiemLocale Text -> SubsecondPrecision -> DatetimeFormat -> Datetime -> Text -- | This could be written much more efficiently since we know the exact -- size the resulting Text will be. builder_YmdHMS :: SubsecondPrecision -> DatetimeFormat -> Datetime -> Builder builder_YmdIMS_p :: MeridiemLocale Text -> SubsecondPrecision -> DatetimeFormat -> Datetime -> Builder builder_YmdIMSp :: MeridiemLocale Text -> SubsecondPrecision -> DatetimeFormat -> Datetime -> Builder builderW3 :: Datetime -> Builder decode_YmdHMS :: DatetimeFormat -> Text -> Maybe Datetime parser_YmdHMS :: DatetimeFormat -> Parser Datetime parser_YmdHMS_opt_S :: DatetimeFormat -> Parser Datetime decode_YmdHMS_opt_S :: DatetimeFormat -> Text -> Maybe Datetime -- | The naming conventions for offsets that are used in function names are -- as follows: -- -- module Chronos.OffsetDatetime.Text builder_YmdHMSz :: OffsetFormat -> SubsecondPrecision -> DatetimeFormat -> OffsetDatetime -> Builder parser_YmdHMSz :: OffsetFormat -> DatetimeFormat -> Parser OffsetDatetime builder_YmdIMS_p_z :: OffsetFormat -> MeridiemLocale Text -> SubsecondPrecision -> DatetimeFormat -> OffsetDatetime -> Builder builderW3 :: OffsetDatetime -> Builder offsetBuilder :: OffsetFormat -> Offset -> Builder offsetParser :: OffsetFormat -> Parser Offset -- | True means positive, false means negative parseSignedness :: Parser Bool parseOffset_z :: Parser Offset parseOffset_z1 :: Parser Offset parseOffset_z2 :: Parser Offset -- | This is generous in what it accepts. If you give something like +04:00 -- as the offset, it will be allowed, even though it could be shorter. parseOffset_z3 :: Parser Offset buildOffset_z :: Offset -> Builder buildOffset_z1 :: Offset -> Builder buildOffset_z2 :: Offset -> Builder buildOffset_z3 :: Offset -> Builder module Chronos.Date.ByteString.Char7 -- | This could be written much more efficiently since we know the exact -- size the resulting ByteString will be. builder_Ymd :: Maybe Char -> Date -> Builder parser_Ymd :: Maybe Char -> Parser Date module Chronos.Datetime.ByteString.Char7 encode_YmdHMS :: SubsecondPrecision -> DatetimeFormat -> Datetime -> ByteString encode_YmdIMS_p :: MeridiemLocale ByteString -> SubsecondPrecision -> DatetimeFormat -> Datetime -> ByteString -- | This could be written much more efficiently since we know the exact -- size the resulting ByteString will be. builder_YmdHMS :: SubsecondPrecision -> DatetimeFormat -> Datetime -> Builder builder_YmdIMS_p :: MeridiemLocale ByteString -> SubsecondPrecision -> DatetimeFormat -> Datetime -> Builder builder_YmdIMSp :: MeridiemLocale ByteString -> SubsecondPrecision -> DatetimeFormat -> Datetime -> Builder builderW3 :: Datetime -> Builder decode_YmdHMS :: DatetimeFormat -> ByteString -> Maybe Datetime parser_YmdHMS :: DatetimeFormat -> Parser Datetime parser_YmdHMS_opt_S :: DatetimeFormat -> Parser Datetime decode_YmdHMS_opt_S :: DatetimeFormat -> ByteString -> Maybe Datetime -- | The naming conventions for offsets that are used in function names are -- as follows: -- -- module Chronos.OffsetDatetime.ByteString.Char7 builder_YmdHMSz :: OffsetFormat -> SubsecondPrecision -> DatetimeFormat -> OffsetDatetime -> Builder parser_YmdHMSz :: OffsetFormat -> DatetimeFormat -> Parser OffsetDatetime builder_YmdIMS_p_z :: OffsetFormat -> MeridiemLocale ByteString -> SubsecondPrecision -> DatetimeFormat -> OffsetDatetime -> Builder builderW3 :: OffsetDatetime -> Builder offsetBuilder :: OffsetFormat -> Offset -> Builder offsetParser :: OffsetFormat -> Parser Offset -- | True means positive, false means negative parseSignedness :: Parser Bool parseOffset_z :: Parser Offset parseOffset_z1 :: Parser Offset parseOffset_z2 :: Parser Offset -- | This is generous in what it accepts. If you give something like +04:00 -- as the offset, it will be allowed, even though it could be shorter. parseOffset_z3 :: Parser Offset buildOffset_z :: Offset -> Builder buildOffset_z1 :: Offset -> Builder buildOffset_z2 :: Offset -> Builder buildOffset_z3 :: Offset -> Builder module Chronos.Calendar months :: [Month] weekdays :: [DayOfWeek] month :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Month -> a dayOfWeek :: a -> a -> a -> a -> a -> a -> a -> DayOfWeek -> a sunday :: DayOfWeek monday :: DayOfWeek tuesday :: DayOfWeek wednesday :: DayOfWeek thursday :: DayOfWeek friday :: DayOfWeek saturday :: DayOfWeek january :: Month february :: Month march :: Month april :: Month may :: Month june :: Month july :: Month august :: Month september :: Month october :: Month november :: Month december :: Month