C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.8965 の関連記事表示

<< 0 >>
■8965  向う50年分の祝日データ作成
□投稿者/ ナカムラ -(2007/10/15(Mon) 18:25:14)

    分類:[.NET 全般] 

    開発環境
    こんにちわ。
    質問させて下さい。

    現在社内でパッケージソフトの開発に携わっているのですが、
    向う30年分の祝日データをあらかじめDB(SQLServer2005)に入れなければなりません。

    手で一行ずつDBに入力(もしくはINSERT文を書く?)のは大変なのですけれども、
    やはりこういった場合はそれしか方法が無いのでしょうか?
    それともロジックでどうにかできるものですか?
    元旦など固定の祝日に関してはなんとかできそうなんですけれども、
    体育の日や海の日など、毎年日づけが変わる祝日に関して、どのように対処していいのかがわかりません。

    一般的にはこのような場合にどうしているのかが知りたいです。
    なにとぞご教授願います。
親記事 /過去ログ21より / 関連記事表示
削除チェック/

■8970  Re[1]: 向う50年分の祝日データ作成
□投稿者/ 774RR -(2007/10/15(Mon) 18:44:10)
記事No.8965 のレス /過去ログ21より / 関連記事表示
削除チェック/

■8967  Re[1]: 向う50年分の祝日データ作成
□投稿者/ はつね -(2007/10/15(Mon) 18:41:55)
>
    No8965 (ナカムラ さん) に返信
    > 元旦など固定の祝日に関してはなんとかできそうなんですけれども、
    > 体育の日や海の日など、毎年日づけが変わる祝日に関して、どのように対処していいのかがわかりません。

    体育の日や海の日などがどのように設定されているか調べて、それに基づいて計算させていれる方法があります。
    * 成人の日(1月15日 → 1月の第2月曜日 2000年〜)
    * 海の日 (7月20日 → 7月の第3月曜日 2003年〜)
    * 敬老の日(9月15日 → 9月の第3月曜日 2003年〜)
    * 体育の日(10月10日 → 10月の第2月曜日 2000年〜)

    でも、また法律変わるかもしれないですよ。

記事No.8965 のレス /過去ログ21より / 関連記事表示
削除チェック/

■8966  Re[1]: 向う50年分の祝日データ作成
□投稿者/ さかもと -(2007/10/15(Mon) 18:39:25)
>
    さかもとと申します。

    > 向う30年分の祝日データをあらかじめDB(SQLServer2005)に入れなければなりません。

    ハッピーマンデーを求めるロジックはどこかで・・・。


    なんにせよ、30年の間に法改正などでまた休日は変わると思います。が、「事前に30年分入れなきゃダメ」という仕様であればさしあたり現行の法に基づき、30年分をまず入れ込んでおけばよいかと。

    そうした上で、
    ・法改正があったらそれ用の適用パッチか何かを配布
    ・ユーザー側で休日設定ができる機能を追加しておく

    と、泥臭い方法ですが確実ではないかと。

    休日だけではなく日本特有の和暦の問題とかもありますしね・・・。
記事No.8965 のレス /過去ログ21より / 関連記事表示
削除チェック/

■8980  Re[2]: 向う50年分の祝日データ作成
□投稿者/ 未記入 -(2007/10/15(Mon) 21:10:25)
    メンテナンス性を考えマスタデータで設定というのが業務アプリケーションでは基本だったりします。
記事No.8965 のレス /過去ログ21より / 関連記事表示
削除チェック/

■8997  Re[1]: 向う50年分の祝日データ作成
□投稿者/ Jitta on the way -(2007/10/16(Tue) 07:13:22)
    No8965 (ナカムラ さん) に返信
    > 開発環境
    > こんにちわ。
    > 質問させて下さい。
    >
    > 現在社内でパッケージソフトの開発に携わっているのですが、
    > 向う30年分の祝日データをあらかじめDB(SQLServer2005)に入れなければなりません。
    >
    > 手で一行ずつDBに入力(もしくはINSERT文を書く?)のは大変なのですけれども、
    > やはりこういった場合はそれしか方法が無いのでしょうか?
    > それともロジックでどうにかできるものですか?
    > 元旦など固定の祝日に関してはなんとかできそうなんですけれども、
    > 体育の日や海の日など、毎年日づけが変わる祝日に関して、どのように対処していいのかがわかりません。
    >
    > 一般的にはこのような場合にどうしているのかが知りたいです。
    > なにとぞご教授願います。

    タイトルは50年
    本文は30年
    どっち?
    まぁ、どっちでもかまわんけど

    休日と休日の間の平日は、国民の休日です。
    火曜日が祝日なら、月曜日が国民の休日です。これならハッピー マンデーでないほうがいいなぁ。
    こういうのもお忘れなく。

    春分の日、秋分の日は、一応計算で求まりますが、最終的にはどこかの神宮が決めます。
記事No.8965 のレス /過去ログ21より / 関連記事表示
削除チェック/

■9000  Re[2]: 向う50年分の祝日データ作成
□投稿者/ よねKEN -(2007/10/16(Tue) 09:45:02)
    既にご存知かと思いますが、国民の祝日に関する法律の資料を提示しておきます。

    国民の祝日に関する法律
    http://law.e-gov.go.jp/htmldata/S23/S23HO178.html

    上記より引用
    >第三条  「国民の祝日」は、休日とする。
    >2  「国民の祝日」が日曜日に当たるときは、その日後においてその日に最も近い「国民の祝日」でない日を休日とする。
    >3  その前日及び翌日が「国民の祝日」である日(「国民の祝日」でない日に限る。)は、休日とする。

    ハッピーマンデー法がらみでひっそりとこの辺もややこしくなってますね。

    後、余談ですが、
    ・海の日と敬老の日のハッピーマンデー化
    ・4月29日は昭和の日、5月4日はみどりの日に変更

    などが最近変わっていますね。
    さらなるハッピーマンデー化などまだありそうですので、

    >一般的にはこのような場合にどうしているのかが知りたいです。

    マスタ化しておいて、ユーザがメンテナンスできる方法を用意するというのは必須ですね。
記事No.8965 のレス /過去ログ21より / 関連記事表示
削除チェック/

■9026  Re[3]: 向う50年分の祝日データ作成
□投稿者/ Jitta -(2007/10/16(Tue) 21:52:45)
    No9000 (よねKEN さん) に返信
    > > 「国民の祝日」が日曜日に当たるときは、その日後においてその日に最も近い「国民の祝日」でない日を休日とする。

    おお!!ということは、

    > ・4月29日は昭和の日、5月4日はみどりの日に変更

    とあわせると、5月3日が日曜だと、3,4,5,6 の4連休になるわけですね!!


    > >3  その前日及び翌日が「国民の祝日」である日

    む?国民の祝日が火曜日の時、月曜日は休みにならないのか。
    あ、これの改正で昭和の日とみどりの日ができた?


    # 以下余談
    ハッピーマンデーは、教育現場では「月曜日のコマ数が少なくなる」と不評です。
記事No.8965 のレス /過去ログ21より / 関連記事表示
削除チェック/

■8999  Re[2]: 向う50年分の祝日データ作成
□投稿者/ Mr.T -(2007/10/16(Tue) 09:16:24)
    Mr.Tです、こんにちは。

    No8997 (Jitta on the way さん) に返信
    > ■No8965 (ナカムラ さん) に返信
    >>開発環境
    >>こんにちわ。
    >>質問させて下さい。
    >>
    >>現在社内でパッケージソフトの開発に携わっているのですが、
    >>向う30年分の祝日データをあらかじめDB(SQLServer2005)に入れなければなりません。

    あー、30年使われるシステムが果たしてどんだけあるんだろう、という心の突っ込みは
    置いといて。
    例えば海の日のように7月の第3月曜日というパターンの場合は、
    7月の初日(7/1)の曜日が、
       月曜なら15日
       火曜なら21日
       水曜なら20日
       木曜なら19日
       金曜なら18日
       土曜なら17日
       日曜なら16日
    ってカレンダー見ながら、考えてみてくださいな。検索かければ、結構でてくるし。

    ストアドプロシジャなんかで十分可能です。
    ストアドわかんね、という場合は、お好きな言語で、ロジックで計算した結果日付を
    マスタに落としてあげてもよいわけです。
    30年だろうが、100年だろうが、ループの回転数が増えるだけで、ループの処理自体が
    難しくなるわけじゃありませんので、適当に、気を楽に。
記事No.8965 のレス /過去ログ21より / 関連記事表示
削除チェック/

■9027  Re[3]: 向う50年分の祝日データ作成
□投稿者/ bear.mini -(2007/10/16(Tue) 22:01:39)
>
    手前味噌で申し訳ありませんが、

    「休日情報 Web サービス」
    http://bearmini.net/publicholidays/Default.aspx

    というものを公開しております。

    このサービスを使うと、年単位で休日の情報を取得できたりします。(SOAP なので XML 形式ですが・・・)

    どうしても DB に入力したいということになると、この Web サービス経由で情報を取得したあとで DB に格納するためのプログラムとかを書かないといけないのかもしれませんが。
記事No.8965 のレス /過去ログ21より / 関連記事表示
削除チェック/

■9028  Re[4]: 向う50年分の祝日データ作成
□投稿者/ よねKEN -(2007/10/16(Tue) 22:12:54)
    > 「休日情報 Web サービス」
    > http://bearmini.net/publicholidays/Default.aspx

    おぉ、すばらしいですね!
    ページの説明も読ませていただきました。

    こういうパターンは考えもしませんでした。(頭が固いな、自分)
    というか、これなら国がサービス提供すれば済むじゃないか!!と思えてきました。

    #同じ発想で郵便番号辞書も国がWebサービスを提供してくれれば済むような・・・
    #対象データに変更がない場合にはキャッシュを使うとか考慮事項はあるだろうけど
記事No.8965 のレス /過去ログ21より / 関連記事表示
削除チェック/

■9048  Re[5]: 向う50年分の祝日データ作成
□投稿者/ bear.mini -(2007/10/17(Wed) 16:39:47)
>
    No9028 (よねKEN さん) に返信

    > というか、これなら国がサービス提供すれば済むじゃないか!!と思えてきました。
    >
    > #同じ発想で郵便番号辞書も国がWebサービスを提供してくれれば済むような・・・
    > #対象データに変更がない場合にはキャッシュを使うとか考慮事項はあるだろうけど

    そうですね、私もどこか公的な機関(総務省とか・・・)がこの程度のサービスなら提供してくれているのではないかと思って探してはみたのですが、見つけられませんでした。
    それで、おこがましくもこんな公共的なサービスの提供に思い至ったわけです。

    郵便番号についても考えたことはあるのですが、こちはさすがに私一人の手には負えなさそうですので自分で作ろうとは思いませんでした。
    こういうサービスこそ、民営化したばかりの日本郵政が提供してくれるといいんですけどねぇ。
    (Web ページ上で郵便番号検索サービスを提供してくれているのだから、無理ではないと思うのですが)
記事No.8965 のレス /過去ログ21より / 関連記事表示
削除チェック/

■9054  Re[6]: 向う50年分の祝日データ作成
□投稿者/ 中博俊 -(2007/10/17(Wed) 20:16:49)
>
    >>#同じ発想で郵便番号辞書も国がWebサービスを提供してくれれば済むような・・・
    >>#対象データに変更がない場合にはキャッシュを使うとか考慮事項はあるだろうけど

    どちらにしても来年の話しかできないと決まっている(官報で告示とかあるから)ので、あまり価値はないんじゃないですか?

    それに法令に合わせてシステム変更もいたって常識的なものだと。
記事No.8965 のレス /過去ログ21より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -