time-1.4: A time library

Safe HaskellSafe-Infered

Data.Time.Format

Contents

Synopsis

UNIX-style formatting

formatTime :: FormatTime t => TimeLocale -> String -> t -> StringSource

Substitute various time-related information for each %-code in the string, as per formatCharacter.

For all types (note these three are done here, not by formatCharacter):

%%
%
%t
tab
%n
newline

glibc-style modifiers can be used before the letter (here marked as z):

%-z
no padding
%_z
pad with spaces
%0z
pad with zeros
%^z
convert to upper case
%#z
convert to lower case (consistently, unlike glibc)

For TimeZone (and ZonedTime and UTCTime):

%z
timezone offset in the format -HHMM.
%Z
timezone name

For LocalTime (and ZonedTime and UTCTime):

%c
as dateTimeFmt locale (e.g. %a %b %e %H:%M:%S %Z %Y)

For TimeOfDay (and LocalTime and ZonedTime and UTCTime):

%R
same as %H:%M
%T
same as %H:%M:%S
%X
as timeFmt locale (e.g. %H:%M:%S)
%r
as time12Fmt locale (e.g. %I:%M:%S %p)
%P
day half from (amPm locale), converted to lowercase, am, pm
%p
day half from (amPm locale), AM, PM
%H
hour, 24-hour, leading 0 as needed, 00 - 23
%I
hour, 12-hour, leading 0 as needed, 01 - 12
%k
hour, 24-hour, leading space as needed, 0 - 23
%l
hour, 12-hour, leading space as needed, 1 - 12
%M
minute, 00 - 59
%S
second, without decimal part, 00 - 60
%q
picosecond, including trailing zeros, 000000000000 - 999999999999.
%Q
decimal point and up to 12 second decimals, without trailing zeros. For a whole number of seconds, %Q produces the empty string.

For UTCTime and ZonedTime:

%s
number of whole seconds since the Unix epoch. For times before the Unix epoch, this is a negative number. Note that in %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.

For Day (and LocalTime and ZonedTime and UTCTime):

%D
same as %m/%d/%y
%F
same as %Y-%m-%d
%x
as dateFmt locale (e.g. %m/%d/%y)
%Y
year
%y
last two digits of year, 00 - 99
%C
century (being the first two digits of the year), 00 - 99
%B
month name, long form (fst from months locale), January - December
%b, %h
month name, short form (snd from months locale), Jan - Dec
%m
month of year, leading 0 as needed, 01 - 12
%d
day of month, leading 0 as needed, 01 - 31
%e
day of month, leading space as needed, 1 - 31
%j
day of year for Ordinal Date format, 001 - 366
%G
year for Week Date format
%g
last two digits of year for Week Date format, 00 - 99
%f
century (first two digits of year) for Week Date format, 00 - 99
%V
week for Week Date format, 01 - 53
%u
day for Week Date format, 1 - 7
%a
day of week, short form (snd from wDays locale), Sun - Sat
%A
day of week, long form (fst from wDays locale), Sunday - Saturday
%U
week number of year, where weeks start on Sunday (as sundayStartWeek), 00 - 53
%w
day of week number, 0 (= Sunday) - 6 (= Saturday)
%W
week number of year, where weeks start on Monday (as mondayStartWeek), 00 - 53