-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/

-- | Convert to/from the ISO 8601 time format
--   
--   Conversion functions between Haskell time types and the ISO 8601
--   format, which is often used for printing times, e.g. JavaScript's
--   new Date().toISOString().
@package iso8601-time
@version 0.1.4

module Data.Time.ISO8601

-- | Formats a time in ISO 8601, with up to 12 second decimals.
--   
--   This is the formatTime format %FT%T%Q ==
--   %%Y-%m-%dT%%H:%M:%S%Q.
formatISO8601 :: UTCTime -> String

-- | Formats a time in ISO 8601 with up to millisecond precision and
--   trailing zeros. The format is precisely:
--   
--   
--   YYYY-MM-DDTHH:mm:ss.sssZ
--   
formatISO8601Millis :: UTCTime -> String

-- | Formats a time in ISO 8601 with up to microsecond precision and
--   trailing zeros. The format is precisely:
--   
--   
--   YYYY-MM-DDTHH:mm:ss.ssssssZ
--   
formatISO8601Micros :: UTCTime -> String

-- | Formats a time in ISO 8601 with up to nanosecond precision and
--   trailing zeros. The format is precisely:
--   
--   
--   YYYY-MM-DDTHH:mm:ss.sssssssssZ
--   
formatISO8601Nanos :: UTCTime -> String

-- | Formats a time in ISO 8601 with up to picosecond precision and
--   trailing zeros. The format is precisely:
--   
--   
--   YYYY-MM-DDTHH:mm:ss.ssssssssssssZ
--   
formatISO8601Picos :: UTCTime -> String

-- | Formats a time like JavaScript's new Date().toISOString() as
--   specified by Mozilla:
--   https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
--   
--   This is an alias for formatISO8601Millis.
formatISO8601Javascript :: UTCTime -> String

-- | Parses an ISO 8601 string.
--   
--   Leading and trailing whitespace is accepted. See parseTimeM
--   from the time package for more details.
parseISO8601 :: String -> Maybe UTCTime
