ふとした世間話の中で、
六曜(大安とか、仏滅とか)ってどうなってるんだろう?と思って
調べてみたら、意外に簡単な計算方法だった。

(旧暦の月 + 旧暦の日) / 6 の余りが 0 → 大安 1 → 赤口 2 → 先勝 3 → 友引 4 → 先負 5 → 仏滅


へー。
それなら、カレンダーを書くときに、付けられるなぁ…
と思ったけれど、旧暦の計算方法がわからない。
調べてみると、妙に難しい…

それでも、Perlで使う場合には、『旧暦計算ライブラリ』という便利なプログラムがあり、
これを利用すれば、簡単に計算できます。

旧暦計算ライブラリ(Perlによる旧暦計算プログラム)

これは、高野 英明さんという方が作成された、
AWK版旧暦計算サンプルスクリプト、『QRSAMP』の、
Perl移植版です。
Perlということで、MovableTypeにも当然利用でき、
いろんな和暦を利用できるようになるプラグイン、
MT 和風日付表示プラグインを作成されている、
muraさん作成の旧暦表示プラグインにも利用されているようです。

で、じゃあこれのPHP版作るか、と思って手を付けてみたのだけれども、
当然だが、激しくめんどくさい(笑)
探したら…ありました。

スクリプト ダウンロード(旧暦計算phpスクリプト)

見た感じ、体裁は全くいじらずに、忠実にPHPに移植した物のようです。
個人的には、データのやりとりなどいじりたいところなんですが…
(年月日ではなくて、UNIXタイムスタンプで渡したかったり)
取り敢えずこれがあれば、PHPでも旧暦入りのカレンダーが作れます。


さて、手を入れるか。
(配布の権利関係は極めて微妙だけど)