Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
type NumericPadOption = Maybe Char Source
class FormatTime t where Source
formatCharacter :: Char -> Maybe (TimeLocale -> Maybe NumericPadOption -> Maybe Int -> t -> String) 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><specifier>
, where <modifier>
and <width>
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
<specifier>
For all types (note these three are done by formatTime
, not by formatCharacter
):
%%
%
%t
%n
TimeZone
For TimeZone
(and ZonedTime
and UTCTime
):
%z
-HHMM
.%Z
LocalTime
For LocalTime
(and ZonedTime
and UTCTime
and UniversalTime
):
%c
dateTimeFmt
locale
(e.g. %a %b %e %H:%M:%S %Z %Y
)TimeOfDay
For TimeOfDay
(and LocalTime
and ZonedTime
and UTCTime
and UniversalTime
):
%R
%H:%M
%T
%H:%M:%S
%X
timeFmt
locale
(e.g. %H:%M:%S
)%r
time12Fmt
locale
(e.g. %I:%M:%S %p
)%P
amPm
locale
), converted to lowercase, am
, pm
%p
amPm
locale
), AM
, PM
%H
00
- 23
%k
0
- 23
%I
01
- 12
%l
1
- 12
%M
00
- 59
%S
00
- 60
%q
000000000000
- 999999999999
.%Q
%Q
omits the decimal point unless padding is specified.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
.Day
For Day
(and LocalTime
and ZonedTime
and UTCTime
and UniversalTime
):
%D
%m/%d/%y
%F
%Y-%m-%d
%x
dateFmt
locale
(e.g. %m/%d/%y
)%Y
%0Y
and %_Y
pad to four chars%y
00
- 99
%C
%0C
and %_C
pad to two chars%B
fst
from months
locale
), January
- December
%b
, %h
snd
from months
locale
), Jan
- Dec
%m
01
- 12
%d
01
- 31
%e
1
- 31
%j
001
- 366
%f
%0f
and %_f
pad to two chars%V
01
- 53
%u
1
- 7
%a
snd
from wDays
locale
), Sun
- Sat
%A
fst
from wDays
locale
), Sunday
- Saturday
%U
sundayStartWeek
), 0-padded to two chars, 00
- 53
%w
0
(= Sunday) - 6
(= Saturday)%W
mondayStartWeek
), 0-padded to two chars, 00
- 53
:: (Monad 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
%0f
:: 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
class ParseTime t where Source
The class of types which can be parsed given a UNIX-style time format string.
:: TimeLocale | The time locale. |
-> [(Char, String)] | Pairs of format characters and the corresponding part of the input. |
-> Maybe t |
Builds a time value from a parsed input string. If the input does not include all the information needed to construct a complete value, any missing parts should be taken from 1970-01-01 00:00:00 +0000 (which was a Thursday). In the absence of %C
or %Y
, century is 1969 - 2068.
ParseTime Day | |
Defined in Data.Time.Format.Parse | |
ParseTime UTCTime | |
Defined in Data.Time.Format.Parse | |
ParseTime UniversalTime | |
Defined in Data.Time.Format.Parse MethodsbuildTime :: TimeLocale -> [(Char, String)] -> Maybe UniversalTime Source | |
ParseTime TimeZone | |
Defined in Data.Time.Format.Parse | |
ParseTime TimeOfDay | |
Defined in Data.Time.Format.Parse | |
ParseTime LocalTime | |
Defined in Data.Time.Format.Parse | |
ParseTime ZonedTime | |
Defined in Data.Time.Format.Parse |
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 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.6.1/docs/html/libraries/time-1.8.0.2/Data-Time-Format.html