Next: , Previous: , Up: Time and Date   [Contents][Index]


5.31.2 Formatting Dates

Given a timestamp value it is possible to format it as a string, in many different formats.

Function: current-time-string #!optional timestamp format

Return a string defining timestamp according to the string format. If timestamp is undefined, the current time is used.

The format string may include any of the formatting characters from the C library’s strftime(3) function. If undefined a standard, fixed-width, format is used:

(current-time-string)
    ⇒ "Wed Jun  2 18:07:53 1999"

Some of the possible formatting substitutions include (this is copied from the GNU libc manual, see (libc)Formatting Date and Time):

%a

The abbreviated weekday name according to the current locale.

%A

The full weekday name according to the current locale.

%b

The abbreviated month name according to the current locale.

%B

The full month name according to the current locale.

%c

The preferred date and time representation for the current locale.

%d

The day of the month as a decimal number (range 01 to 31).

%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).

%m

The month as a decimal number (range 01 to 12).

%M

The minute as a decimal number.

%p

Either ‘am’ or ‘pm’, according to the given time value; or the corresponding strings for the current locale.

%S

The second as a decimal number.

%U

The week number of the current year as a decimal number, starting with the first Sunday as the first day of the first week.

%W

The week number of the current year as a decimal number, starting with the first Monday as the first day of the first week.

%w

The day of the week as a decimal number, Sunday being 0.

%x

The preferred date representation for the current locale, but without the time.

%X

The preferred time representation for the current locale, but with no date.

%y

The year as a decimal number, but without a century (range 00 to 99).

%Y

The year as a decimal number, including the century.

%Z

The time zone or name or abbreviation (empty if the time zone can’t be determined).

%%

A literal ‘%’ character.

(current-time-string nil "%Y-%m-%d")
    ⇒ "1999-06-02"

Next: , Previous: , Up: Time and Date   [Contents][Index]