-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Parse and format HTTP/1.1 Date and Time strings -- -- This package provides functionalities to parse and format various Date -- and Time formats allowed in HTTP/1.1 -- (http://tools.ietf.org/html/rfc2616#section-3.3). @package time-http @version 0.5 -- | This module provides functions to parse and format RFC 822 date and -- time strings (http://tools.ietf.org/html/rfc822#section-5). -- -- The syntax is as follows: -- --
-- date-time ::= [ day-of-week ", " ] date SP time SP zone
-- day-of-week ::= "Mon" | "Tue" | "Wed" | "Thu"
-- | "Fri" | "Sat" | "Sun"
-- date ::= day SP month SP year
-- day ::= 2DIGIT
-- year ::= 2DIGIT ; Yes, only 2 digits.
-- month ::= "Jan" | "Feb" | "Mar" | "Apr"
-- | "May" | "Jun" | "Jul" | "Aug"
-- | "Sep" | "Oct" | "Nov" | "Dec"
-- time ::= hour ":" minute [ ":" second ]
-- hour ::= 2DIGIT
-- minute ::= 2DIGIT
-- second ::= 2DIGIT
-- zone ::= "UT" | "GMT" ; Universal Time
-- | "EST" | "EDT" ; Eastern : -5 / -4
-- | "CST" | "CDT" ; Central : -6 / -5
-- | "MST" | "MDT" ; Mountain: -7 / -6
-- | "PST" | "PDT" ; Pacific : -8 / -7
-- | "Z" ; UT
-- | "A" ; -1
-- | "M" ; -12
-- | "N" ; +1
-- | "Y" ; +12
-- | ("+" | "-") 4DIGIT ; Local diff: HHMM
--
module Data.Time.Format.RFC822
-- | The phantom type for conversions between RFC 822 date and time strings
-- and ZonedTime.
--
-- -- >>> convertAttempt (Tagged (ZonedTime (LocalTime (ModifiedJulianDay 49662) (TimeOfDay 8 49 37)) utc) :: Tagged RFC822 ZonedTime) -- Success "Sun, 06 Nov 94 08:49:37 GMT" ---- -- Note that RFC 822 has a Y2K problem so converting ZonedTime -- whose gregorian year is earlier than 1900 or from 2000 onward results -- in ConvertBoundsException Day (Tagged RFC822 -- ZonedTime). data RFC822 instance ConvertAttempt (Tagged RFC822 TimeZone) AsciiBuilder instance ConvertAttempt (Tagged RFC822 TimeZone) Ascii instance Typeable RFC822 instance Default (Parser (Tagged RFC822 TimeZone)) instance Default (Parser (Tagged RFC822 TimeOfDay)) instance Default (Parser (Tagged RFC822 ZonedTime)) instance ConvertAttempt Ascii (Tagged RFC822 ZonedTime) instance ConvertSuccess (Tagged RFC822 TimeZone) AsciiBuilder instance ConvertSuccess (Tagged RFC822 TimeZone) Ascii instance ConvertAttempt (Tagged RFC822 ZonedTime) AsciiBuilder instance ConvertAttempt (Tagged RFC822 ZonedTime) Ascii -- | This module provides functions to parse and format RFC 733 date and -- time strings (http://tools.ietf.org/html/rfc733#appendix-E). -- -- The syntax is as follows: -- --
-- date-time ::= [ day-of-week ", " ] date SP time ("-" | SP) zone
-- day-of-week ::= "Monday" | "Mon" | "Tuesday" | "Tue"
-- | "Wednesday" | "Wed" | "Thursday" | "Thu"
-- | "Friday" | "Fri" | "Saturday" | "Sat"
-- | "Sunday" | "Sun"
-- date ::= day ("-" | SP) month ("-" | SP) year
-- day ::= 2DIGIT
-- year ::= 2DIGIT | 4DIGIT
-- month ::= "January" | "Jan" | "February" | "Feb"
-- | "March" | "Mar" | "April" | "Apr"
-- | "May" | "June" | "Jun"
-- | "July" | "Jul" | "August" | "Aug"
-- | "September" | "Sep" | "October" | "Oct"
-- | "November" | "Nov" | "December" | "Dec"
-- time ::= hour [ ":" ] minute [ [ ":" ] second ]
-- hour ::= 2DIGIT
-- minute ::= 2DIGIT
-- second ::= 2DIGIT
-- zone ::= "GMT" ; Universal Time
-- | "NST" ; Newfoundland: -3:30
-- | "AST" | "ADT" ; Atlantic : -4 / -3
-- | "EST" | "EDT" ; Eastern : -5 / -4
-- | "CST" | "CDT" ; Central : -6 / -5
-- | "MST" | "MDT" ; Mountain : -7 / -6
-- | "PST" | "PDT" ; Pacific : -8 / -7
-- | "YST" | "YDT" ; Yukon : -9 / -8
-- | "HST" | "HDT" ; Haw/Ala : -10 / -9
-- | "BST" | "BDT" ; Bering : -11 / -10
-- | "Z" ; GMT
-- | "A" ; -1
-- | "M" ; -12
-- | "N" ; +1
-- | "Y" ; +12
-- | ("+" | "-") 4DIGIT ; Local diff: HHMM
--
module Data.Time.Format.RFC733
-- | The phantom type for conversions between RFC 733 date and time strings
-- and ZonedTime.
--
-- -- >>> convertSuccess (Tagged (ZonedTime (LocalTime (ModifiedJulianDay 49662) (TimeOfDay 8 49 37)) utc) :: Tagged RFC733 ZonedTime) -- "Sunday, 06-Nov-1994 08:49:37 GMT" --data RFC733 instance ConvertAttempt (Tagged RFC733 ZonedTime) AsciiBuilder instance ConvertAttempt (Tagged RFC733 ZonedTime) Ascii instance Default (Parser (Tagged RFC733 ZonedTime)) instance ConvertAttempt Ascii (Tagged RFC733 ZonedTime) instance ConvertSuccess (Tagged RFC733 ZonedTime) AsciiBuilder instance ConvertSuccess (Tagged RFC733 ZonedTime) Ascii -- | This module provides functions to parse and format RFC 1123 date and -- time strings (http://tools.ietf.org/html/rfc1123#page-55). -- -- The format is basically the same as RFC 822, but the syntax for -- date is changed from: -- --
-- year ::= 2DIGIT ---- -- to: -- --
-- year ::= 4DIGIT --module Data.Time.Format.RFC1123 -- | The phantom type for conversions between RFC 1123 date and time -- strings and ZonedTime. -- --
-- >>> convertSuccess (Tagged (ZonedTime (LocalTime (ModifiedJulianDay 49662) (TimeOfDay 8 49 37)) utc) :: Tagged RFC1123 ZonedTime) -- "Sun, 06 Nov 1994 08:49:37 GMT" --data RFC1123 instance ConvertAttempt (Tagged RFC1123 ZonedTime) AsciiBuilder instance ConvertAttempt (Tagged RFC1123 ZonedTime) Ascii instance Default (Parser (Tagged RFC1123 ZonedTime)) instance ConvertAttempt Ascii (Tagged RFC1123 ZonedTime) instance ConvertSuccess (Tagged RFC1123 ZonedTime) AsciiBuilder instance ConvertSuccess (Tagged RFC1123 ZonedTime) Ascii -- | This module provides functions for ANSI C's date and time strings. -- -- ANSI C's ctime(3)/asctime(3) format looks like: -- --
-- Wdy Mon [D]D HH:MM:SS YYYY ---- -- The exact syntax is as follows: -- --
-- date-time ::= wday SP month SP day SP time SP year -- wday ::= "Mon" | "Tue" | "Wed" | "Thu" -- | "Fri" | "Sat" | "Sun" -- month ::= "Jan" | "Feb" | "Mar" | "Apr" -- | "May" | "Jun" | "Jul" | "Aug" -- | "Sep" | "Oct" | "Nov" | "Dec" -- day ::= 2DIGIT | SP 1DIGIT -- time ::= 2DIGIT ':' 2DIGIT [':' 2DIGIT] -- year ::= 4DIGIT --module Data.Time.Format.C -- | The phantom type for conversions between ANSI C's date and time -- strings and LocalTime. -- --
-- >>> convertSuccess (Tagged (LocalTime (ModifiedJulianDay 49662) (TimeOfDay 8 49 37)) :: Tagged C LocalTime) -- "Sun Nov 6 08:49:37 1994" --data C instance ConvertAttempt (Tagged C LocalTime) AsciiBuilder instance ConvertAttempt (Tagged C LocalTime) Ascii instance Default (Parser (Tagged C LocalTime)) instance ConvertAttempt Ascii (Tagged C LocalTime) instance ConvertSuccess (Tagged C LocalTime) AsciiBuilder instance ConvertSuccess (Tagged C LocalTime) Ascii -- | This module provides functions to parse and format HTTP/1.1 date and -- time strings (http://tools.ietf.org/html/rfc2616#section-3.3). -- -- The HTTP/1.1 specification (RFC 2616) says that HTTP/1.1 clients and -- servers which parse the date value MUST accept all the following -- formats, though they MUST only generate the RFC 1123 format for -- representing HTTP-date values in header fields: -- --
-- Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123 -- Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036 -- Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format ---- -- It also says that all HTTP date/time stamps MUST be represented in -- Greenwich Mean Time (GMT), without exception. For the purposes of -- HTTP, GMT is exactly equal to UTC (Coordinated Universal Time). This -- is indicated in the first two formats by the inclusion of -- "GMT" as the three-letter abbreviation for time zone, and -- MUST be assumed when reading the asctime format. -- --
-- HTTP-date = rfc1123-date | rfc850-date | asctime-date -- rfc1123-date = wkday "," SP date1 SP time SP "GMT" -- rfc850-date = weekday "," SP date2 SP time SP "GMT" -- asctime-date = wkday SP date3 SP time SP 4DIGIT -- date1 = 2DIGIT SP month SP 4DIGIT -- ; day month year (e.g., 02 Jun 1982) -- date2 = 2DIGIT "-" month "-" 2DIGIT -- ; day-month-year (e.g., 02-Jun-82) -- date3 = month SP ( 2DIGIT | ( SP 1DIGIT )) -- ; month day (e.g., Jun 2) -- time = 2DIGIT ":" 2DIGIT ":" 2DIGIT -- ; 00:00:00 - 23:59:59 -- wkday = "Mon" | "Tue" | "Wed" -- | "Thu" | "Fri" | "Sat" | "Sun" -- weekday = "Monday" | "Tuesday" | "Wednesday" -- | "Thursday" | "Friday" | "Saturday" | "Sunday" -- month = "Jan" | "Feb" | "Mar" | "Apr" -- | "May" | "Jun" | "Jul" | "Aug" -- | "Sep" | "Oct" | "Nov" | "Dec" --module Data.Time.Format.HTTP -- | The phantom type for conversions between HTTP/1.1 date and time -- strings and UTCTime. -- --
-- >>> convertSuccess (Tagged (UTCTime (ModifiedJulianDay 49662) 31777) :: Tagged HTTP UTCTime) -- "Sun, 06 Nov 1994 08:49:37 GMT" --data HTTP instance ConvertAttempt (Tagged HTTP UTCTime) AsciiBuilder instance ConvertAttempt (Tagged HTTP UTCTime) Ascii instance Default (Parser (Tagged HTTP UTCTime)) instance ConvertAttempt Ascii (Tagged HTTP UTCTime) instance ConvertSuccess (Tagged HTTP UTCTime) AsciiBuilder instance ConvertSuccess (Tagged HTTP UTCTime) Ascii