UP | HOME

emacs-添加农历纪念日

[2024-04-26 周五 09:00]

纪念日可以显示在 org-agenda 中。要添加公历的纪念日,可以在 org-agenda-files 的某一文件中新建一行,输入以下代码

%%(diary-anniversary 10 1 1949) 新中国第 %d 个公历生日

到了10月1日,就会在 org-agenda 中当天日程最下方显示为:

新中国第 75 个公历生日

添加农历纪念日需要用到另一个函数 diary-chinese-anniversary ,但这个函数接受的第三个可选参数 year 是黄帝纪年的第几次循环的第几个项拼接起来的,不能直接填入公元年份。所以需要做如下变化:

添加函数

(defun my/chinese-year (lunar-month lunar-day year)
    (+ (* 100 (car (calendar-chinese-from-absolute (calendar-absolute-from-gregorian (diary-make-date lunar-month lunar-day year)))))
       (cadr (calendar-chinese-from-absolute (calendar-absolute-from-gregorian (diary-make-date lunar-month lunar-day year))))))

然后使用以下代码

%%(diary-chinese-anniversary 8 10 (my/chinese-year 8 10 1949)) 新中国第 %d 个农历生日

▲ 编辑于 [2024-08-22 周四 11:09] | © Published by Emacs 30.0.50 (Org mode 9.7.10) on [2024-08-22 周四 11:25] | RSS