時刻中の曜日を日本語に変換する - 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))))
;=> "今日は、金曜日です。"