ひまわりユーザー プログラム掲示板 バックアップ
注意
ひまわりのススメ  □ ひまわり本家Home  □ 新着記事  □ 新規投稿  □ SEARCH  □ 参考プログラム集
ツリー表示

MESSAGE 祝日カレンダー /クジラ飛行机 (02/05/20(Mon) 01:47) [924]
......MESSAGE 振替休日とハッピーマンデー /kobachi (02/05/20(Mon) 02:45) [925]
......MESSAGE Re[1]: 祝日カレンダー /山本 博信 (02/05/20(Mon) 05:45) [926]


親記事 / ▼[ 925 ] ▼[ 926 ]
NO.924  祝日カレンダー
□投稿者/ クジラ飛行机 -(2002/05/20(Mon) 01:47:39)
□U R L/
{---プログラム掲示板投稿フォーム---
【ソフト名】祝日付カレンダー(バージョン 1.00)
【作 成 者】クジラ飛行机
【種  別】フリーソフトウェア
【ひまわりのバージョン】ver.1.47
【転  載】可(ご自由に)
【改変運用】可(投稿したプログラムを他人が改造し運用することを許すか)
【ひまわり本体への梱包】可
【実行時に利用作成するファイル】無
【コメント】日付を入力すると、祝日を調べるプログラムです。カレンダーソフトにどうぞ
---投稿フォームここまで---}

'祝日調査
*メイン部分
今日を、「/」で、区切る。年=それ#0;月=それ#1;日=それ#2
調査日は、「{年}/{月}/1」'今月の頭から

母艦の、テキストは、「{年}年{月}月の祝日カレンダー」

月の日数を取得
日数は、それ。

カレンダー=「」
Iを、0から、(日数-1)まで、繰り返す(
   カレンダー#0#I=(I+1)
   祝日データベース調査
   カレンダー#1#I=それ
   調査日に、「+0/0/1」を、日付加算して、調査日に、入れる。
)
カレンダーグリッドを、グリッドとして、作成。
その、アイテムは、「日付,祝日\n」&カレンダー
待機。

*月の日数を取得
'入力=調査日
'出力=それに、月の日数を返す
'2,4,6,9,11月以外は、31日まで
月日数表=「31,29,31,30,31,30,31,31,30,31,30,31」
'うるう年補正
「{年}/2/28」に、「+0/0/1」を、日付加算して、『/』で、区切る。
もし、それが、『02』ならば、月日数表#1#0="28"
調査日を、『/』で、区切る。Y=それ#0; M=それ#1; D=それ#2
それは、月日数表#(M-1)#0
戻る

*祝日データベース調査
'入力 = 調査日
'出力 = それに、休日の名前を返す

'特定の日(月/日,名前)
特定日=「01/01,元日
02/11,建国記念日
04/29,みどりの日
05/03,憲法記念日
05/05,こどもの日
11/03,文化の日
11/23,勤労感謝の日
12/23,天皇誕生日」

'特定の月と週(月-週,名前)
特定月曜日=「01-02,成人の日
10-2,体育の日」

'2002年以前の特定日
特定日2002=「07/20,海の日
09/15,敬老の日」

'2003年より特定の月と週
特定月曜日2003=「07-03,海の日
09-03,敬老の日」

'月日を調べる
調査日を、「/」で、区切る。
Y=INT(それ#0); M=INT(それ#1); D=INT(それ#2)
MM=指定形式に変換(M,"%.2d")
DD=指定形式に変換(D,"%.2d")
月日 = 「{MM}/{DD}」

'春分の日 3月X日を求める計算式
X=INT(20.8431+0.242194*(Y-1980)-INT((Y-1980)/4))
特定日=特定日&「\n03/{X},春分の日」
'秋分の日 9月X日を求める計算式
X=INT(23.2488+0.242194*(Y-1980)-INT((Y-1980)/4))
特定日=特定日&「\n09/{X},秋分の日」

'月週を調べる
月週 = 「」
調査日の、曜日を数値で得る。
もし、それが、2ならば('月曜日ならば、月週を調べる
   「{Y}/{M}/1」の、曜日を数値で得て、Wに、入れる。
   WD = INT((W-1+D)/7)
   もし、(W<=2)ならば、WD=WD+1
   月週 =「{M}-{WD}」
   '月週と、言う。
)

特定日の、0列目から、月日を、表ピックアップして、結果に、入れる。
もし、結果<0ならば(
   特定月曜日の、0列目から、月週を、表ピックアップして、結果に、入れる。
   もし、結果<0ならば(
      もし、Y>=2003ならば(
         特定月曜日2003の、0列目から、月週を、表ピックアップして。
         結果に、入れる。
      )違えば(
         特定日2002の、0列目から、月日を、表ピックアップして。
         結果に、入れる。
      )
   )
)。

それは、結果#1#0
戻る。



▲[ 924 ] / 返信無し
NO.925  振替休日とハッピーマンデー
□投稿者/ kobachi -(2002/05/20(Mon) 02:45:24)
□U R L/ http://plaza.across.or.jp/~kobachi/
あと、振替休日とハッピーマンデーに対応すれば、完璧なカレンダーが作れますね。メルマガの企画物、次回はカレンダー(もしくは、予定帳)というのはどうでしょう?

誕生日や、へんてこな記念日を追加してみると面白くなりそうです。
参考になるかどうかわかりませんが→(http://www.kinenbi.gr.jp/



▲[ 924 ] / 返信無し
NO.926  Re[1]: 祝日カレンダー
□投稿者/ 山本 博信 -(2002/05/20(Mon) 05:45:03)
□U R L/
ああ、暦どおりに休めるようになりたい。



- Child Tree -