Common Lisp Package: CLACK.UTIL.LOCALTIME

# Clack.Util.Localtime - Ported functions from LOCAL-TIME. ## DESCRIPTION LOCAL-TIME causes some problems sometimes. So I rewrote some functions for Clack. This package provides following two functions. * now * format-rfc1123-timestring ## AUTHOR * Eitarow Fukamachi (e.arrows@gmail.com)

README:

FUNCTION

Public

NOW

Returns a timestamp representing the present moment.

Undocumented

FORMAT-RFC1123-TIMESTRING (DESTINATION TIMESTAMP)

Private

FORMAT-TIMESTRING (DESTINATION TIMESTAMP &KEY (FORMAT +ISO-8601-FORMAT+) (TIMEZONE *DEFAULT-TIMEZONE*))

Constructs a string representation of TIMESTAMP according to FORMAT and returns it. If destination is T, the string is written to *standard-output*. If destination is a stream, the string is written to the stream. FORMAT is a list containing one or more of strings, characters, and keywords. Strings and characters are output literally, while keywords are replaced by the values here: :YEAR *year :MONTH *numeric month :DAY *day of month :HOUR *hour :MIN *minutes :SEC *seconds :WEEKDAY *numeric day of week starting from index 0, which means Sunday :MSEC *milliseconds :USEC *microseconds :NSEC *nanoseconds :LONG-WEEKDAY long form of weekday (e.g. Sunday, Monday) :SHORT-WEEKDAY short form of weekday (e.g. Sun, Mon) :LONG-MONTH long form of month (e.g. January, February) :SHORT-MONTH short form of month (e.g. Jan, Feb) :HOUR12 hour on a 12-hour clock :AMPM am/pm marker in lowercase :GMT-OFFSET the gmt-offset of the time, in +00:00 form :GMT-OFFSET-OR-Z like :GMT-OFFSET, but is Z when UTC :TIMEZONE timezone abbrevation for the time Elements marked by * can be placed in a list in the form: (:keyword padding &optional (padchar #0)) The string representation of the value will be padded with the padchar. You can see examples in +ISO-8601-FORMAT+, +ASCTIME-FORMAT+, and +RFC-1123-FORMAT+.

UNIX-TO-TIMESTAMP (UNIX &KEY (NSEC 0))

Return a TIMESTAMP corresponding to UNIX, which is the number of seconds since the unix epoch, 1970-01-01T00:00:00Z.

VARIABLE

Private

+RFC-1123-FORMAT+

Please note that you should use the +GMT-ZONE+ timezone to format a proper RFC 1123 timestring. See the RFC for the details about the possible values of the timezone field.

Undocumented

+GMT-ZONE+