formatting-6.3.7: Combinator-based type-safe formatting (like printf() or FORMAT)
Safe Haskell None
Language Haskell98

Formatting.Time

Description

Formatters for time.

Synopsis

For TimeZone (and ZonedTime and UTCTime ):

tz :: FormatTime a => Format r (a -> r) Source #

Timezone offset on the format -HHMM .

tzName :: FormatTime a => Format r (a -> r) Source #

Timezone name.

datetime :: FormatTime a => Format r (a -> r) Source #

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

For TimeOfDay (and LocalTime and ZonedTime and UTCTime ):

hm :: FormatTime a => Format r (a -> r) Source #

Same as %H:%M .

hms :: FormatTime a => Format r (a -> r) Source #

Same as %H:%M:%S .

hmsL :: FormatTime a => Format r (a -> r) Source #

As timeFmt locale (e.g. %H:%M:%S ).

hmsPL :: FormatTime a => Format r (a -> r) Source #

As time12Fmt locale (e.g. %I:%M:%S %p ).

dayHalf :: FormatTime a => Format r (a -> r) Source #

Day half from ( amPm locale ), converted to lowercase, am , pm .

dayHalfU :: FormatTime a => Format r (a -> r) Source #

Day half from ( amPm locale ), AM , PM .

hour24 :: FormatTime a => Format r (a -> r) Source #

Hour, 24-hour, leading 0 as needed, 00 - 23 .

hour12 :: FormatTime a => Format r (a -> r) Source #

Hour, 12-hour, leading 0 as needed, 01 - 12 .

hour24S :: FormatTime a => Format r (a -> r) Source #

Hour, 24-hour, leading space as needed, 0 - 23 .

hour12S :: FormatTime a => Format r (a -> r) Source #

Hour, 12-hour, leading space as needed, 1 - 12 .

minute :: FormatTime a => Format r (a -> r) Source #

Minute, 00 - 59 .

second :: FormatTime a => Format r (a -> r) Source #

Second, without decimal part, 00 - 60 .

pico :: FormatTime a => Format r (a -> r) Source #

Picosecond, including trailing zeros, 000000000000 - 999999999999 .

decimals :: FormatTime a => Format r (a -> r) Source #

Decimal point and up to 12 second decimals, without trailing zeros. For a whole number of seconds, this produces the empty string.

For UTCTime and ZonedTime

For Day (and LocalTime and ZonedTime and UTCTime ):

dateSlash :: FormatTime a => Format r (a -> r) Source #

Same as %m/%d/%y .

dateDash :: FormatTime a => Format r (a -> r) Source #

Same as %Y-%m-%d .

dateSlashL :: FormatTime a => Format r (a -> r) Source #

As dateFmt locale (e.g. %m/%d/%y ).

yy :: FormatTime a => Format r (a -> r) Source #

Last two digits of year, 00 - 99 .

century :: FormatTime a => Format r (a -> r) Source #

Century (being the first two digits of the year), 00 - 99 .

monthName :: FormatTime a => Format r (a -> r) Source #

Month name, long form ( fst from months locale ), January - December .

monthNameShort :: FormatTime a => Format r (a -> r) Source #

%H] month name, short form ( snd from months locale ), Jan - Dec@.

month :: FormatTime a => Format r (a -> r) Source #

Month of year, leading 0 as needed, 01 - 12 .

dayOfMonth :: FormatTime a => Format r (a -> r) Source #

Day of month, leading 0 as needed, 01 - 31 .

dayOfMonthOrd :: FormatTime a => Format r (a -> r) Source #

Day of month, 1st , 2nd , 25th , etc.

dayOfMonthS :: FormatTime a => Format r (a -> r) Source #

Day of month, leading space as needed, 1 - 31 .

day :: FormatTime a => Format r (a -> r) Source #

Day of year for Ordinal Date format, 001 - 366 .

weekYear :: FormatTime a => Format r (a -> r) Source #

Year for Week Date format e.g. 2013 .

weekYY :: FormatTime a => Format r (a -> r) Source #

Last two digits of year for Week Date format, 00 - 99 .

weekCentury :: FormatTime a => Format r (a -> r) Source #

Century (first two digits of year) for Week Date format, 00 - 99 .

week :: FormatTime a => Format r (a -> r) Source #

Week for Week Date format, 01 - 53 .

dayOfWeek :: FormatTime a => Format r (a -> r) Source #

Day for Week Date format, 1 - 7 .

dayNameShort :: FormatTime a => Format r (a -> r) Source #

Day of week, short form ( snd from wDays locale ), Sun - Sat .

dayName :: FormatTime a => Format r (a -> r) Source #

Day of week, long form ( fst from wDays locale ), Sunday - Saturday .

weekFromZero :: FormatTime a => Format r (a -> r) Source #

Week number of year, where weeks start on Sunday (as sundayStartWeek ), 00 - 53 .

dayOfWeekFromZero :: FormatTime a => Format r (a -> r) Source #

Day of week number, 0 (= Sunday) - 6 (= Saturday).

weekOfYearMon :: FormatTime a => Format r (a -> r) Source #

Week number of year, where weeks start on Monday (as mondayStartWeek ), 00 - 53 .

Time spans, diffs, NominalDiffTime , DiffTime , etc.

diff Source #

Arguments

:: RealFrac n
=> Bool

Display 'in/ago'?

-> Format r (n -> r)

Example: '3 seconds ago', 'in three days'.)

Display a time span as one time relative to another. Input is assumed to be seconds. Typical inputs are NominalDiffTime and DiffTime .

years Source #

Arguments

:: RealFrac n
=> Int

Decimal places.

-> Format r (n -> r)

Display the absolute value time span in years.

days Source #

Arguments

:: RealFrac n
=> Int

Decimal places.

-> Format r (n -> r)

Display the absolute value time span in days.

hours Source #

Arguments

:: RealFrac n
=> Int

Decimal places.

-> Format r (n -> r)

Display the absolute value time span in hours.

minutes Source #

Arguments

:: RealFrac n
=> Int

Decimal places.

-> Format r (n -> r)

Display the absolute value time span in minutes.

seconds Source #

Arguments

:: RealFrac n
=> Int

Decimal places.

-> Format r (n -> r)

Display the absolute value time span in seconds.

Internal.

fmt :: FormatTime a => Text -> a -> Text Source #

Formatter call. Probably don't want to use this.

customTimeFmt :: FormatTime a => Text -> Format r (a -> r) Source #

Helper for creating custom time formatters