2007 May 28th
Python で祝日判定をする方法を調べていたのですが、 Python は無かったものの VB 向けや JavaScript 向けを始め、いろんな言語向けの祝日判定が紹介されているAddinBox(祝日マクロ-1)にあたりました。どうせいるものだしということで、 Python 向けのものを書いて角田さんに送りました。
# こないだの4月29日から昭和の日って言ったんですね。知らんかった〜。
http://matatabi.homeip.net/app/python/jholiday.py.gz
からダウンロードできるようにしておきますが、サンプルに書いてあるような感じで
>>> import jholiday
>>> jholiday.holiday_name(2007, 4, 28)
None
>>> jholiday.holiday_name(2007, 4, 29)
u'\u662d\u548c\u306e\u65e5'
>>> print jholiday.holiday_name(2007, 4, 29).encode('euc-jp')
昭和の日
というように使います。holiday_name() に日付を表す3つの整数を与えると、その日が祝日である場合は Unicode でその名前が、そうでない場合は None が返ります。一旦 datetime.date のオブジェクトを作っているので、不正な値を渡すとそこでこけます。
Posted by setomits at 11:17 | Comments: 2
Re: Python で祝日判定
1月1日は「元旦」ではなくて「元日」なので、修正しなくちゃいけなかったのに忘れてたみたい。
http://matatabi.homeip.net/app/jholiday.py.gz
はこの点を修正しています。
Posted by setomits at 09:28 on 2007 Jun 27th
Re: Python で祝日判定
オリジナルの作者の角田さんからご連絡頂き、秋分の日を計算する内部関数である _autumn_equinox 内(75行目)にコピペミスがあることがわかりました。正しくは
elif y <= 2150:

とすべきところを
elif y <= 1979:

としてしまっていました。
修正したものを
http://matatabi.homeip.net/app/python/jholiday.py.gz
に置いているので、利用されている方は修正あるいはダウンロードし直して下さい。
Posted by setomits at 23:55 on 2009 Jan 12th
Leave a comment
Required fields are marked with *
search
calendar
Jul 2009
SunMonTueWedThuFriSat
   1234
567891011
12131415161718
19202122232425
262728293031 
archives
photos on flickr
www.flickr.com
bookmarks on delicious