Availability:built-in
date(Y,M,D,H,M,S,O,TZ,DST) or a term date(Y,M,D).
- a
 The abbreviated weekday name according to the current locale. Use format_time/4 for POSIX locale.
- A
 The full weekday name according to the current locale. Use format_time/4 for POSIX locale.
- b
 The abbreviated month name according to the current locale. Use format_time/4 for POSIX locale.
- B
 The full month name according to the current locale. Use format_time/4 for POSIX locale.
- c
 The preferred date and time representation for the current locale.
- C
 The century number (year/100) as a 2-digit integer.
- d
 The day of the month as a decimal number (range 01 to 31).
- D
 Equivalent to %m/%d/%y. (For Americans only. Americans should note that in other countries %d/%m/%y is rather common. This means that in an international context this format is ambiguous and should not be used.)
- e
 Like %d, the day of the month as a decimal number, but a leading zero is replaced by a space.
- E
 Modifier. Not implemented.
- f
 Number of microseconds. The- fcan be prefixed by an integer to print the desired number of digits. E.g.,- %3fprints milliseconds. This format is not covered by any standard, but available with different format specifiers in various incarnations of the strftime() function.
- F
 Equivalent to %Y-%m-%d (the ISO 8601 date format).
- g
 Like %G, but without century, i.e., with a 2-digit year (00-99).
- G
 The ISO 8601 year with century as a decimal number. The 4-digit year corresponding to the ISO week number (see %V). This has the same format and value as %y, except that if the ISO week number belongs to the previous or next year, that year is used instead.
- V
 The ISO 8601:1988 week number of the current year as a decimal number, range 01 to 53, where week 1 is the first week that has at least 4 days in the current year, and with Monday as the first day of the week. See also %U and %W.
- h
 Equivalent to %b.
- H
 The hour as a decimal number using a 24-hour clock (range 00 to 23).
- I
 The hour as a decimal number using a 12-hour clock (range 01 to 12).
- j
 The day of the year as a decimal number (range 001 to 366).
- k
 The hour (24-hour clock) as a decimal number (range 0 to 23); single digits are preceded by a blank. (See also %H.)
- l
 The hour (12-hour clock) as a decimal number (range 1 to 12); single digits are preceded by a blank. (See also %I.)
- m
 The month as a decimal number (range 01 to 12).
- M
 The minute as a decimal number (range 00 to 59).
- n
 A newline character.
- O
 Modifier to select locale-specific output. Not implemented.
- p
 Either `AM' or `PM' according to the given time value, or the corresponding strings for the current locale. Noon is treated as `pm' and midnight as `am'.133Despite the above clain, some locales yield- amor- pmin lower case.
- P
 Like %p but in lowercase: `am' or `pm' or a corresponding string for the current locale.
- r
 The time in a.m. or p.m. notation. In the POSIX locale this is equivalent to `%I:%M:%S %p'.
- R
 The time in 24-hour notation (%H:%M). For a version including the seconds, see %T below.
- s
 The number of seconds since the Epoch, i.e., since 1970-01-01 00:00:00 UTC.
- S
 The second as a decimal number (range 00 to 60). (The range is up to 60 to allow for occasional leap seconds.)
- t
 A tab character.
- T
 The time in 24-hour notation (%H:%M:%S).
- u
 The day of the week as a decimal, range 1 to 7, Monday being 1. See also %w.
- U
 The week number of the current year as a decimal number, range 00 to 53, starting with the first Sunday as the first day of week 01. See also %V and %W.
- w
 The day of the week as a decimal, range 0 to 6, Sunday being 0. See also %u.
- W
 The week number of the current year as a decimal number, range 00 to 53, starting with the first Monday as the first day of week 01.
- x
 The preferred date representation for the current locale without the time.
- X
 The preferred time representation for the current locale without the date.
- y
 The year as a decimal number without a century (range 00 to 99).
- Y
 The year as a decimal number including the century.
- z
 The timezone as hour offset from GMT using the format HHmm. Required to emit RFC822-conforming dates (using- '%a, %d %b %Y %T %z'). Our implementation supports- %:z, which modifies the output to HH:mm as required by XML-Schema. Note that both notations are valid in ISO 8601. The sequence- %:zis compatible to the GNU date(1) command.
- Z
 The timezone or name or abbreviation.
- +
 The date and time in date(1) format.
- %
 A literal `%' character.
The table below gives some format strings for popular time 
representations. RFC1123 is used by HTTP. The full implementation of
http_timestamp/2 
as available from library(http/http_header) is here.
http_timestamp(Time, Atom) :-
        stamp_date_time(Time, Date, 'UTC'),
        format_time(atom(Atom),
                    '%a, %d %b %Y %T GMT',
                    Date, posix).
| Standard | Format string | 
| xsd | '%FT%T%:z' | 
| ISO8601 | '%FT%T%z' | 
| RFC822 | '%a, %d %b %Y %T %z' | 
| RFC1123 | '%a, %d %b %Y %T GMT' |