予定表付きの万年カレンダーみたいなのを作ろうと思っていますが
祭日をうまく判定する方法はないでしょうか?
一応考えていたのは、その祭日の日付をデータで持って
判定する方法ですが、これだと振り替え休日とか第○月曜とかの場合
曜日に影響するのでうまくいきません
やっぱり曜日をちゃんと計算して判定する以外無いでしょうか?
わたしも考えているんですけど、休日表を作ったあと、振り替え休日とか、国民の休日(祝日にはさまれると休日になるというあれ、9月にも可能性あり)とかを考慮し、
春分、秋分を計算しつつ、休みを判定していくほかなさそうです。
あらかじめ休日表を、昇順などで並べておけば、振り替え休日などの処理はさほど難しくないと思います。
あとは、DelphianWorldにカレンダーコンポーネントがいくつかありますが、
作者のページや、ソースなど、参考になるかもしれませんね。
DesktopCalenderというソフトの作者さんは、それを参考にしていたそうです。
休日表や、その他暦に関する情報は、ここが参考になります。
http://koyomi.vis.ne.jp/
ご、ごめんなさい。掲示板間違えてました。VBの掲示板でしたね…(^_^;)
さて、でもどちらにしても、休日表を作り、それを参考に、計算していくしかないのに変わりはありません。
(VBに秘められたカレンダー用関数とかがない限り。聞いたことありませんけど…)
参考サイトは、言語とかは関係なしに、純粋に暦に関するページですから、
どちらにしても参考になると思います。
昔、某掲示板への回答として、祭日判定プログラムを組んだ事があります。
http://www.ocv.ne.jp/~oratorio/windev/
ただしこの方法だと、法律改定の度にプログラムを修正して、
それを再コンパイルする必要があります。
ですから基本的には、(mdbやxmlやiniなどの)外部リソースに、
祭日の一覧表を持っておき、必要に応じて、その外部リソースだけを
(利用するユーザ、もしくは開発者自身が)修正した方が楽でしょう。
私の場合は、基本的には外部に休日テーブルを持っておき、もしも
休日テーブルが未定義だった場合にのみ、先のような祭日判定プログラムで、
休日テーブルを、仮定義するという手法をとっています。
助言ありがとうございます
大変参考になりましたっ
がんばってみます
ツイート | ![]() |