『唐・日本における進朔に関する研究』の朔閏表

…というわけで、標題の朔閏表を when.exe Ruby版から使えるようにしました。[1]

require 'when_exe'
include When

date = when?('0852-08-20^^Julian')
p date ^ CalendarEra('Chinese') #=> [大中06(0852).07=02]
p date ^ CalendarEra('Chinese?V=0618') #=> [中国?V=0618::唐::大中06(0852).08.02]
p date ^ CalendarEra('Chinese') #=> [中国::唐::大中06(0852).07=02]

date = when?('768-10-16^^Julian')
p date ^ CalendarEra('Japanese') #=> [神護景雲02(0768).09.02]
p date ^ CalendarEra('Japanese?V=0764') #=> [日本?V=0764::奈良時代::神護景雲02(0768).09.01]
p date ^ CalendarEra('Japanese') #=> [日本::奈良時代::神護景雲02(0768).09.02]

のような感じです。

『日本暦日原典』や『二十史朔閏表』は史実に近いか否かとは別の観点で標準的に
参照され、世の中には、それらを前提として変換された日付が流通していますから、
『日本暦日原典』や『二十史朔閏表』の方をデフォルトのままにし、標題の朔閏表は
デフォルトの年号検索パスには置かないことにしました。

このため、上記の例のそれぞれの最初の変換では、when.exe Ruby版は年号の
曖昧性に気付かないので“::”による年号の明確化を行いません。2番目の変換
で曖昧性に気付くので、3番目の変換では最初の変換と同じことをしても、今度は
“::”による年号の明確化行います。

よって、標題の朔閏表を使う場合には、スクリプトの冒頭で、

CalendarEra('Chinese?V=0618')
CalendarEra('Japanese?V=0764')

のようなコードを実施して標題の朔閏表をメモリに読み込んでおくとよいでしょう。

なお標題の朔閏表は、いろいろと細かな問題があるようです。
この件、記事を分けます。

[1] 例によってライブラリの更新は、次回のバージョン公開時です。
  ただし、Webバージョンは、http://hosi.org:3000/cookies/Chinese
  http://hosi.org:3000/cookies/Japanese に設定を追加しましたので、
  すでに標題の朔閏表を使えるようになっています。

この記事へのコメント

この記事へのトラックバック