[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
Re: japanese-holidays.el
- X-ml-count: 2959
- Subject: Re: japanese-holidays.el
- From: Yoshihiko Yamada <yyamada@xxxxxxxxx>
- Date: 17 Jan 2001 09:16:47 +0900
- User-agent: Gnus/5.090001 (Oort Gnus v0.01) Emacs/20.7
CACの山田です。
>>>>> In [meadow-users-jp : No.2953]
>>>>> "Yuh Ohmura" = Yuh Ohmura <yutopia@xxxxxxxxxxxx> writes:
Yuh Ohmura> 最新版かどうかわかりませんが、
Yuh Ohmura> http://wig.nu/~ohtaki/text/diary/2000/japanese-holidays.el
Yuh Ohmura> というのをみつけました。
私はこんなのを指定して、イースターまわりをdiary で指定できるように
してます。ご参考まで。(holiday.el からのパクリです^^;;)
~/.emacs の設定
;;; for Easter を Diary で指定可能にする
(defun easter-abs (displayed-year)
"return Easter absolute
- 2 : Good Friday
- 46 : Ash Wednesday"
(let* ((century (1+ (/ displayed-year 100)))
(shifted-epact;; Age of moon for April 5...
(% (+ 14 (* 11 (% displayed-year 19));; ...by Nicaean rule
(-;; ...corrected for the Gregorian century rule
(/ (* 3 century) 4))
(/;; ...corrected for Metonic cycle inaccuracy.
(+ 5 (* 8 century)) 25)
(* 30 century));; Keeps value positive.
30))
(adjusted-epact;; Adjust for 29.5 day month.
(if (or (= shifted-epact 0)
(and (= shifted-epact 1) (< 10 (% displayed-year 19))))
(1+ shifted-epact)
shifted-epact))
(paschal-moon;; Day after the full moon on or after March 21.
(- (calendar-absolute-from-gregorian (list 4 19 displayed-year))
adjusted-epact))
(abs-easter (calendar-dayname-on-or-before 0 (+ paschal-moon 7))))
abs-easter))
~/diay は 以下のようなもの。
%%(let ((easter-date
(calendar-gregorian-from-absolute
(easter-abs (extract-calendar-year date)))))
(equal date
(list (extract-calendar-month easter-date)
(truncate (extract-calendar-day easter-date))
(extract-calendar-year easter-date)))
) Easter Sunday
%%(let ((easter-date
(calendar-gregorian-from-absolute
(- (easter-abs (extract-calendar-year date)) 2))))
(equal date
(list (extract-calendar-month easter-date)
(truncate (extract-calendar-day easter-date))
(extract-calendar-year easter-date)))
) Good Friday
%%(let ((easter-date
(calendar-gregorian-from-absolute
(- (easter-abs (extract-calendar-year date)) 46))))
(equal date
(list (extract-calendar-month easter-date)
(truncate (extract-calendar-day easter-date))
(extract-calendar-year easter-date)))
) Ash Wednesday (灰の水曜日)
%%(let ((easter-date
(calendar-gregorian-from-absolute
(+ (easter-abs (extract-calendar-year date)) 39))))
(equal date
(list (extract-calendar-month easter-date)
(truncate (extract-calendar-day easter-date))
(extract-calendar-year easter-date)))
) Ascension Day
%%(let ((easter-date
(calendar-gregorian-from-absolute
(+ (easter-abs (extract-calendar-year date)) 49))))
(equal date
(list (extract-calendar-month easter-date)
(truncate (extract-calendar-day easter-date))
(extract-calendar-year easter-date)))
) Pentecost (Whitsunday)
--
山田 喜彦 yyamada@xxxxxxxxx : (株)シーエーシー 先端技術研究室
PGP-Key: http://pgp.nic.ad.jp/pgp/index.html
http://lark/pks-commands.html (CAC 社内用)
PGP-Fingerprint: DH/DSS [71AF A14E 3800 AE85 B0C2 AA50 C08B A8E9 CC29 E341]