It is very simple to make a Chinese calendar in Tian-gan and Di-zhi combination.
Since there is Chinese character is not supported, I just use 0-9 to represent Tian-gan
and A-L to Di-zhi.
看中国古代书籍时经常遇到天干地支的年份,具体的组合每次找起来很费劲。
干脆写了一个小程序打出所有的60年的组合。
因为不能使用汉字,只好用0-9代表天干,用A-L代表地支。
中国古代の本に良く”天幹"と"地支"の組み合わせが出ますが、すべての組み合わせ
が把握していないので、小さなプログラムを組んで、60年の組み合わせをすべて
出力しました。LISPなら簡単にできます。
ただし、漢字がサポートされていないため、0-9を”天幹"、A-Zを"地支"代用しています。
(define (chinese-calendar tian-gan di-zhi)
(cond ((and (eq? (car tian-gan) '0) (eq? (car di-zhi) 'l))
(display (car tian-gan)) (display (car di-zhi)))
(else (display (car tian-gan)) (display (car di-zhi))
(display '-)
(chinese-calendar (append (cdr tian-gan) (list (car tian-gan)))
(append (cdr di-zhi) (list (car di-zhi)))))))
(define (print-chn-cal)
(chinese-calendar '(1 2 3 4 5 6 7 8 9 0) '(a b c d e f g h i j k l)))