elisp 怎么判断某一天是否是周日

(format-time-string “%u”) 可以得到当前的值是星期几。

如果想要判断其他日期,应该怎么做?

可以用parse-time-string,先把日期转换成time。


(defun eye-get-time-week (time)
  (let ((week (format-time-string "%A" time)))
    (cond
     ((string-equal "Monday"    week) "周一")
     ((string-equal "Tuesday"   week) "周二")
     ((string-equal "Wednesday" week) "周三")
     ((string-equal "Thursday"  week) "周四")
     ((string-equal "Friday"    week) "周五")
     ((string-equal "Saturday"  week) "周六")
     ((string-equal "Sunday"    week) "周日")
     (t nil)
     )))

(insert
 (format ";;%s"
         (eye-get-time-week (date-to-time "2022-05-15 00:00:00"))
         ));;周日
1 个赞
(format-time-string "%u" (date-to-time "2022-05-15T00:00:00")) 

谢谢楼上两位。需要传入 2022-05-15T00:00:00,只传 2022-05-15 不行。

是的,对格式有要求,不过后面给它固定个全零 00:00:00 的就行, T可以不用,换成空格。