Next: SRFI-19 String to date, Previous: SRFI-19 Time/Date conversions, Up: SRFI-19
Convert a date to a string under the control of a format. format should be a string containing `~' escapes, which will be expanded as per the following conversion table. The default format is `~c', a locale-dependent date and time.
Many of these conversion characters are the same as POSIX
strftime
(see Time), but there are some extras and some variations.
~~
literal ~ ~a
locale abbreviated weekday, eg. `Sun' ~A
locale full weekday, eg. `Sunday' ~b
locale abbreviated month, eg. `Jan' ~B
locale full month, eg. `January' ~c
locale date and time, eg.
`Fri Jul 14 20:28:42-0400 2000'~d
day of month, zero padded, `01' to `31'
~e
day of month, blank padded, ` 1' to `31' ~f
seconds and fractional seconds, with locale decimal point, eg. `5.2' ~h
same as ~b
~H
hour, 24-hour clock, zero padded, `00' to `23' ~I
hour, 12-hour clock, zero padded, `01' to `12' ~j
day of year, zero padded, `001' to `366' ~k
hour, 24-hour clock, blank padded, ` 0' to `23' ~l
hour, 12-hour clock, blank padded, ` 1' to `12' ~m
month, zero padded, `01' to `12' ~M
minute, zero padded, `00' to `59' ~n
newline ~N
nanosecond, zero padded, `000000000' to `999999999' ~p
locale AM or PM ~r
time, 12 hour clock, `~I:~M:~S ~p' ~s
number of full seconds since “the epoch” in UTC ~S
second, zero padded `00' to `60'
(usual limit is 59, 60 is a leap second)~t
horizontal tab character ~T
time, 24 hour clock, `~H:~M:~S' ~U
week of year, Sunday first day of week, `00' to `52' ~V
week of year, Monday first day of week, `01' to `53' ~w
day of week, 0 for Sunday, `0' to `6' ~W
week of year, Monday first day of week, `00' to `52'
~y
year, two digits, `00' to `99' ~Y
year, full, eg. `2003' ~z
time zone, RFC-822 style ~Z
time zone symbol (not currently implemented) ~1
ISO-8601 date, `~Y-~m-~d' ~2
ISO-8601 time+zone, `~k:~M:~S~z' ~3
ISO-8601 time, `~k:~M:~S' ~4
ISO-8601 date/time+zone, `~Y-~m-~dT~k:~M:~S~z' ~5
ISO-8601 date/time, `~Y-~m-~dT~k:~M:~S'
Conversions `~D', `~x' and `~X' are not currently described here, since the specification and reference implementation differ.
Currently Guile doesn't implement any localizations for the above, all
outputs are in English, and the `~c' conversion is POSIX
ctime
style `~a ~b ~d ~H:~M:~S~z ~Y'. This may change in
the future.