読者です 読者をやめる 読者になる 読者になる

旧暦を計算するスクリプトを Gem にしました。

現在一般的に用いられているのは、グレゴリオ暦ですが、その昔は旧暦が使われていました。今でもカレンダーに記載されていることがありますね。

例えば、グレゴリオ暦で2013年11月7日の場合、

となります。


この旧暦の計算、国立天文台のサイトによると、日本で「公式な」太陰太陽暦の計算というものはおこなわれていなのだそうです。


そんな旧暦ですが、高野英明氏によって、QRSAMP旧暦計算サンプルスクリプトとして便利なスクリプトが公開されています。

旧暦計算の詳細については、配布されているドキュメントにとても詳しく載っていますので、興味のある方はご覧ください。

このGemは、このスクリプトRubyで書きなおしたものです。


使い方は、簡単。

gem install qreki

して、以下のようにrubyを書いていただければOKです。

require ‘qreki’

qreki = Qreki.calc(2013,11,7)

qreki.year # 2013

qreki.uruu # false

qreki.month # 10

qreki.day # 5

qreki.rokuyou # “友引”

qreki.sekki # “立冬


ちなみに、グレゴリオ暦2014年3月30日は、2014年2月30日というグレゴリオ暦では存在しない日になったりするので要注意です。

リターンをDate型で受け取るのはできないのです。ややこしいですね。


なお、ソースはこちらに置いてあります!

https://github.com/ozamasa/qreki


旧暦を計算するスクリプトを Gem にしました。