我试图通过以下函数
获取Common Lisp中的当前系统日期(defun current-date-string ()
"Returns current date as a string."
(multiple-value-bind (sec min hr day mon yr dow dst-p tz)
(get-decoded-time)
(declare (ignore sec min hr dow dst-p tz))
(format nil "~A-~A-~A" yr mon day)))
很遗憾,我以“2014-1-2”格式获取当前日期。但实际上我需要这种格式“2014-01-02”。我们有什么办法可以改变格式吗?我尝试用yyyy-mm-dd替换nil,但没有运气。但是我的机器时钟显示日期格式为“2014-01-02”。
答案 0 :(得分:6)
(format nil "~4,'0d-~2,'0d-~2,'0d" yr mon day)
~2,'0d
表示:
d
:十进制输出(而不是您的通用a
)2
:第一个参数:width '0
:第二个参数:pad char 0
我建议您阅读Formatted Output; format
是一个非常强大的工具。
答案 1 :(得分:0)