| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
class FormatTime t Source
formatTime :: FormatTime t => TimeLocale -> String -> t -> String Source
Substitute various time-related information for each %-code in the string, as per formatCharacter.
The general form is %<modifier><width><alternate><specifier>, where <modifier>, <width>, and <alternate> are optional.
<modifier>glibc-style modifiers can be used before the specifier (here marked as z):
%-z%_z%0z%^z%#z<width>Width digits can also be used after any modifiers and before the specifier (here marked as z), for example:
%4z%_12z<alternate>An optional E character indicates an alternate formatting. Currently this only affects %Z and %z.
%Ez<specifier>For all types (note these three are done by formatTime, not by formatCharacter):
%%%%t%nTimeZoneFor TimeZone (and ZonedTime and UTCTime):
%z±HHMM
%Ez±HH:MM
%Z±HHMM)%EZ±HH:MM)LocalTimeFor LocalTime (and ZonedTime and UTCTime and UniversalTime):
%cdateTimeFmt locale (e.g. %a %b %e %H:%M:%S %Z %Y)TimeOfDayFor TimeOfDay (and LocalTime and ZonedTime and UTCTime and UniversalTime):
%R%H:%M
%T%H:%M:%S
%XtimeFmt locale (e.g. %H:%M:%S)%rtime12Fmt locale (e.g. %I:%M:%S %p)%PamPm locale), converted to lowercase, am, pm
%pamPm locale), AM, PM
%H00 - 23
%k 0 - 23
%I01 - 12
%l 1 - 12
%M00 - 59
%S00 - 60
%q000000000000 - 999999999999.%Q%Q omits the decimal point unless padding is specified.UTCTime and ZonedTime
For UTCTime and ZonedTime:
%s%s.%q and %s%Q the decimals are positive, not negative. For example, 0.9 seconds before the Unix epoch is formatted as -1.1 with %s%Q.DayOfWeekFor DayOfWeek (and Day and LocalTime and ZonedTime and UTCTime and UniversalTime):
%u1 (= Monday) - 7 (= Sunday)%w0 (= Sunday) - 6 (= Saturday)%asnd from wDays locale), Sun - Sat
%Afst from wDays locale), Sunday - Saturday
DayFor Day (and LocalTime and ZonedTime and UTCTime and UniversalTime):
%D%m/%d/%y
%F%Y-%m-%d
%xdateFmt locale (e.g. %m/%d/%y)%Y%0Y and %_Y pad to four chars%y00 - 99
%C%0C and %_C pad to two chars%Bfst from months locale), January - December
%b, %h
snd from months locale), Jan - Dec
%m01 - 12
%d01 - 31
%e 1 - 31
%j001 - 366
%f%0f and %_f pad to two chars%V01 - 53
%UsundayStartWeek), 0-padded to two chars, 00 - 53
%WmondayStartWeek), 0-padded to two chars, 00 - 53
The specifiers for DiffTime, NominalDiffTime, CalendarDiffDays, and CalendarDiffTime are semantically separate from the other types. Specifiers on negative time differences will generally be negative (think rem rather than mod).
NominalDiffTime and DiffTime
Note that a "minute" of DiffTime is simply 60 SI seconds, rather than a minute of civil time. Use NominalDiffTime to work with civil time, ignoring any leap seconds.
For NominalDiffTime and DiffTime:
%w%d%D%h%H%m%M%s%Es%Es omits the decimal point unless padding is specified.%0Es%S%ES%ES omits the decimal point unless padding is specified.%0ESCalendarDiffDaysFor CalendarDiffDays (and CalendarDiffTime):
%y%b%B%w%d%DCalendarDiffTimeFor CalendarDiffTime:
%h%H%m%M%s%Es%Es omits the decimal point unless padding is specified.%0Es%S%ES%ES omits the decimal point unless padding is specified.%0ES| :: (MonadFail m, ParseTime t) | |
| => Bool | Accept leading and trailing whitespace? |
| -> TimeLocale | Time locale. |
| -> String | Format string. |
| -> String | Input string. |
| -> m t | Return the time value, or fail if the input could not be parsed using the given format. |
Parses a time value given a format string. Supports the same %-codes as formatTime, including %-, %_ and %0 modifiers, however padding widths are not supported. Case is not significant in the input string. Some variations in the input are accepted:
%z±HHMM or ±HH:MM.%Z%z.%0Y%0G%0C%0fFor example, to parse a date in YYYY-MM-DD format, while allowing the month and date to have optional leading zeros (notice the - modifier used for %m and %d):
Prelude Data.Time> parseTimeM True defaultTimeLocale "%Y-%-m-%-d" "2010-3-04" :: Maybe Day Just 2010-03-04
| :: ParseTime t | |
| => Bool | Accept leading and trailing whitespace? |
| -> TimeLocale | Time locale. |
| -> String | Format string. |
| -> String | Input string. |
| -> t | The time value. |
Parse a time value given a format string. Fails if the input could not be parsed using the given format. See parseTimeM for details.
| :: ParseTime t | |
| => Bool | Accept leading whitespace? |
| -> TimeLocale | Time locale. |
| -> String | Format string |
| -> ReadS t |
Parse a time value given a format string. See parseTimeM for details.
| :: ParseTime t | |
| => Bool | Accept leading whitespace? |
| -> TimeLocale | Time locale. |
| -> String | Format string |
| -> ReadP t |
Parse a time value given a format string. See parseTimeM for details.
| :: ParseTime t | |
| => TimeLocale | Time locale. |
| -> String | Format string. |
| -> String | Input string. |
| -> Maybe t | The time value, or |
Deprecated: use "parseTimeM True" instead
| :: ParseTime t | |
| => TimeLocale | Time locale. |
| -> String | Format string. |
| -> String | Input string. |
| -> t | The time value. |
Deprecated: use "parseTimeOrError True" instead
| :: ParseTime t | |
| => TimeLocale | Time locale. |
| -> String | Format string |
| -> ReadS t |
Deprecated: use "readSTime True" instead
The class of types which can be parsed given a UNIX-style time format string.
data TimeLocale Source
| TimeLocale | |
Fields | |
| Eq TimeLocale | |
Defined in Data.Time.Format.Locale | |
| Ord TimeLocale | |
Defined in Data.Time.Format.Locale Methodscompare :: TimeLocale -> TimeLocale -> Ordering (<) :: TimeLocale -> TimeLocale -> Bool (<=) :: TimeLocale -> TimeLocale -> Bool (>) :: TimeLocale -> TimeLocale -> Bool (>=) :: TimeLocale -> TimeLocale -> Bool max :: TimeLocale -> TimeLocale -> TimeLocale min :: TimeLocale -> TimeLocale -> TimeLocale | |
| Show TimeLocale | |
Defined in Data.Time.Format.Locale MethodsshowsPrec :: Int -> TimeLocale -> ShowS Source show :: TimeLocale -> String Source showList :: [TimeLocale] -> ShowS Source | |
defaultTimeLocale :: TimeLocale Source
Locale representing American usage.
knownTimeZones contains only the ten time-zones mentioned in RFC 822 sec. 5: "UT", "GMT", "EST", "EDT", "CST", "CDT", "MST", "MDT", "PST", "PDT". Note that the parsing functions will regardless parse "UTC", single-letter military time-zones, and +HHMM format.
iso8601DateFormat :: Maybe String -> String Source
Construct format string according to ISO-8601.
The Maybe String argument allows to supply an optional time specification. E.g.:
iso8601DateFormat Nothing == "%Y-%m-%d" -- i.e. YYYY-MM-DD iso8601DateFormat (Just "%H:%M:%S") == "%Y-%m-%dT%H:%M:%S" -- i.e. YYYY-MM-DDTHH:MM:SS
rfc822DateFormat :: String Source
Format string according to RFC822.
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.8.3/docs/html/libraries/time-1.9.3/Data-Time-Format.html