- - PR -
六曜の計算
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-05-30 22:21
はじめまして、thusanderと申します。
現在、業務で、VB.netを利用して六陽の計算を行うメソッドを開発しています。 そこで、質問なのですが六曜を計算する一般的なロジックってあるのでしょうか?Outlookで六曜が表示されているので同じロジックで取得したいと考えています。 よろしくお願いします。 | ||||
|
投稿日時: 2006-05-30 22:52
http://www.google.com/search?hl=ja&lr=lang_ja&q=%98Z%97j+%8Cv%8EZ
4つめや5つめあたり | ||||
|
投稿日時: 2006-05-31 00:43
旧暦 for VB Visual BasicまたはExcel VBAで旧暦を計算する標準モジュール(ソース付き) http://www.vector.co.jp/soft/win95/personal/se243537.html が参考になるかも | ||||
|
投稿日時: 2006-05-31 04:05
Jittaさん、しゃくさん返信ありがとうございます。
>しゃくさん 旧暦 for VBなのですが現在も参考にさせて頂いているのですが、2224年 4月1日 辺りから計算結果が合わなくなっており混乱しております(暦の百科事典を正とした場合)。 六曜の定義自体が曖昧だと思っているので(一説によると伊勢神宮が決めているとか)Outlookと同じ計算をしているということで、お客様に納得頂こうかと思いこのような質問をさせて頂きました。 Excelの関数を呼ぶというのがベストの方法ですかね? 未熟者で申し訳ありませんがよろしくお願い致します。 | ||||
|
投稿日時: 2006-05-31 09:14
>2224年 4月1日辺りから計算結果が合わなくなっており
200年先の六曜を知りたいという「明確」な要求があるのですか? 200年先までそのシステムを使うのですか? そうでないなら、必要十分すぎる精度だと思いますが。 #ロジックにこだわりすぎてはいけません。 | ||||
|
投稿日時: 2006-05-31 09:37
有用なログがあります。
六曜の計算 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-06-01 00:32
六曜の定義自体は、完全に明確です。 六曜 = (月 + 日) mod 6 であって、それ以上でもそれ以下でもありません。 ただし、その「月」と「日」は、旧暦なのでやっかいなわけです。 ・一つは、「旧」暦なので、歴法の規範的な定義が現在存在しない。 ・もう一つは、グレゴリオ暦みたいに機械的な計算で決まるものではなく、 天文予測計算をして求めなくてはいけない。 # なので、"2224年" の計算なんて、ナンセンス。 # そんな年まで、月と地球の運動が、計算した予測どおりなわけがない。 といった問題があって一筋縄ではいきません。 で、今ちょっと MSDN Library を見てみると、「.Net Framework 2.0 を使えるのなら」、という条件がつきますが、 System.Globalization.JapaneseLunisolarCalendar というクラスがありますね。 旧暦月日を算出するのに使えるかもしれません。 どの程度使えるものかわかりませんが、「Microsoft 標準の計算方法で算出しております」という言い訳が立つかも。 # その場合、「月」の値に GetMonth の値をそのまま使わないように。 [ メッセージ編集済み 編集者: omatsu 編集日時 2006-06-01 02:07 ] | ||||
|
投稿日時: 2006-06-06 00:47
返信ありがとうございました。
System.Globalization.JapaneseLunisolarCalendar で実装し、ただいまテストを行っています。 本当にありがとうございました。 |
1