時刻中の曜日を日本語に変換する - lisp-cookbook-ja/common-lisp GitHub Wiki

日付と時刻

時刻中の曜日を日本語に変換する

decode-universal-timeの7番目の値が曜日を数値で表現したものになります。dayの値は0が月曜日で、6が日曜日に対応します。これにより、例えば以下のようにして曜日を日本語で得ることができます。

(defconstant +wdays+ #("月" "火" "水" "木" "金" "土" "日"))

(format nil 
        "今日は、~A曜日です。"
        (aref +wdays+
              (nth-value 6
                (decode-universal-time (get-universal-time)))))

;=> "今日は、金曜日です。"

format の機能を活用

(format nil 
        "今日は、~[月~;火~;水~;木~;金~;土~;日~]曜日です。"
        (nth-value 6 (decode-universal-time (get-universal-time))))
;=> "今日は、金曜日です。"