祭日判定

解決


soron  2003-09-28 11:04:10  No: 108858  IP: [192.*.*.*]

予定表付きの万年カレンダーみたいなのを作ろうと思っていますが
祭日をうまく判定する方法はないでしょうか?

一応考えていたのは、その祭日の日付をデータで持って
判定する方法ですが、これだと振り替え休日とか第○月曜とかの場合
曜日に影響するのでうまくいきません

やっぱり曜日をちゃんと計算して判定する以外無いでしょうか?

編集 削除
たかみちえ  URL  2003-09-28 12:13:45  No: 108859  IP: [192.*.*.*]

わたしも考えているんですけど、休日表を作ったあと、振り替え休日とか、国民の休日(祝日にはさまれると休日になるというあれ、9月にも可能性あり)とかを考慮し、
春分、秋分を計算しつつ、休みを判定していくほかなさそうです。

  あらかじめ休日表を、昇順などで並べておけば、振り替え休日などの処理はさほど難しくないと思います。

  あとは、DelphianWorldにカレンダーコンポーネントがいくつかありますが、
作者のページや、ソースなど、参考になるかもしれませんね。
DesktopCalenderというソフトの作者さんは、それを参考にしていたそうです。


  休日表や、その他暦に関する情報は、ここが参考になります。
http://koyomi.vis.ne.jp/

編集 削除
たかみちえ  URL  2003-09-28 12:17:01  No: 108860  IP: [192.*.*.*]

ご、ごめんなさい。掲示板間違えてました。VBの掲示板でしたね…(^_^;)

  さて、でもどちらにしても、休日表を作り、それを参考に、計算していくしかないのに変わりはありません。
(VBに秘められたカレンダー用関数とかがない限り。聞いたことありませんけど…)
  参考サイトは、言語とかは関係なしに、純粋に暦に関するページですから、
どちらにしても参考になると思います。

編集 削除
魔界の仮面弁士  2003-09-28 12:31:24  No: 108861  IP: [192.*.*.*]

昔、某掲示板への回答として、祭日判定プログラムを組んだ事があります。
http://www.ocv.ne.jp/~oratorio/windev/

ただしこの方法だと、法律改定の度にプログラムを修正して、
それを再コンパイルする必要があります。

ですから基本的には、(mdbやxmlやiniなどの)外部リソースに、
祭日の一覧表を持っておき、必要に応じて、その外部リソースだけを
(利用するユーザ、もしくは開発者自身が)修正した方が楽でしょう。


私の場合は、基本的には外部に休日テーブルを持っておき、もしも
休日テーブルが未定義だった場合にのみ、先のような祭日判定プログラムで、
休日テーブルを、仮定義するという手法をとっています。

編集 削除
soron  2003-09-28 15:46:55  No: 108862  IP: [192.*.*.*]

助言ありがとうございます
大変参考になりましたっ
がんばってみます

編集 削除