Date_Holidays_Driver_Japaneseを使ってみるとか

Date_Holidays_Driver_Japaneseがありがたいので早速使ってみたよ!

$ pear install --alldeps Date_Holidays-alpha
$ pear install -a -f http://www.doyouphp.jp/pear/Date_Holidays_Driver_Japanese-0.1.0.tgz
でインストール。
PHP5.1だとバージョン警告が出るけど気にしないことにする。

念の為確認。 [php] <?php ini_set('display_errors', 'On'); require_once('Date/Holidays.php');

$obj =& Date_Holidays::factory('Japanese', 2008);

for ($i=0;$i<365;$i++) { $t = mktime(0,0,0,1,$i+1,2008); $date = date('Y-m-d', $t); if ($obj->isHoliday($date)) { echo "[{$date}] holiday\n"; } } [/php]

$ php -q test.php
[2008-01-01] holiday
[2008-01-14] holiday
[2008-02-11] holiday
[2008-03-20] holiday
[2008-04-29] holiday
[2008-05-03] holiday
[2008-05-04] holiday
[2008-05-05] holiday
[2008-07-21] holiday
[2008-09-15] holiday
[2008-09-23] holiday
[2008-10-13] holiday
[2008-11-03] holiday
[2008-11-23] holiday
[2008-12-23] holiday

おお!
でも今年は 5/6 は振り替え休日らしいんだよね。

あと setYear で年度を設定するとなぜか 5/7 が祝日になる。謎。