Ognacの雑感

木漏れ日々

目次

Blog 利用状況

書庫

ギャラリ

旧暦も可能

FrameWork2.0に太陰太陽暦があるのを知った。
60年周期て閏月をカバーするようです。

JapaneseLunisolarCalendar A =  new JapaneseLunisolarCalendar();
旧暦の年 = A.GetYear(新暦YMD);
旧暦の月 = A.GetMonth(新暦YMD);
旧暦の日 = A.GetDayOfMonth(新暦YMD);

旧暦の閏月 = A.GetLeapMonth( A.GetYear(selectDay),A.GetEra(selectDay));
でいいのかなぁ。

旧暦には、六曜が付き物ですが、六曜は曜日のような順次繰り返しでなく、非周期性をもっています。
六曜の定義は、http://koyomi.vis.ne.jp/directjp.cgi?http://koyomi.vis.ne.jp/reki_doc/doc_0190.htm となっていますが、
今月 http://www.ajnet.ne.jp/dairy/ を見ると、
元日が「先勝」で、次は5日が「先勝」です。 一方、
http://koyomi.vis.ne.jp/directjp.cgi?http://koyomi.vis.ne.jp/reki_doc/doc_0410.htm
によると、5日は、大安になるとか。

閏月が8月になるのが、12月の次に來るのかも法則があるのでしょう。。
年の値が前年になるのか、当年になるのか、知識が乏しいので、検証できないのが悔しい。
ちらっと読んだ程度では、理解できない...org;

旧暦をつかう文化は、なんかノスタルジー的で神秘的な感じがしますが、
旧暦計算が実装されているのは、その分野でも、.Netが利用できるのですね。

(*)おぎわらさんが、以前に報告されていました。http://blogs.wankuma.com/ogiogi/archive/2006/11/07/43917.aspx

 

 

 

投稿日時 : 2011年1月11日 0:19

Feedback

No comments posted yet.
タイトル
名前
Url
コメント