formatting-6.3.7: Combinator-based type-safe formatting (like printf() or FORMAT)

Safe HaskellNone
LanguageHaskell98

Formatting.Time

Contents

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 TimeLocale 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 TimeLocale locale (e.g. %H:%M:%S).

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

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

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

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

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

Day half from (TimeLocale 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

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

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 TimeLocale locale (e.g. %m/%d/%y).

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

Year.

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 TimeLocale locale), January - December.

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

%H] month name, short form (snd from TimeLocale 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 TimeLocale locale), Sun - Sat.

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

Day of week, long form (fst from TimeLocale 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