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

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

C# と VB.NET の入門サイト

Re[2]: 毎月の特定曜日までの日数を取得したい


(過去ログ 111 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■65759 / inTopicNo.1)  毎月の特定曜日までの日数を取得したい
  
□投稿者/ mark225 (1回)-(2013/03/16(Sat) 13:59:33)

分類:[C#] 

当日から毎月、第2金曜日までの日数を取得したいのですが簡単な方法は無いのでしょうか。
年と月は関係なく、例えば当日が第2金曜日であれば翌月の第2金曜日になりますので30などの数字が返ればOKです。
引用返信 編集キー/
■65760 / inTopicNo.2)  Re[1]: 毎月の特定曜日までの日数を取得したい
□投稿者/ とっちゃん (56回)-(2013/03/16(Sat) 15:28:22)
とっちゃん さんの Web サイト
No65759 (mark225 さん) に返信
> 当日から毎月、第2金曜日までの日数を取得したいのですが簡単な方法は無いのでしょうか。
ありません。

なので、自分で計算します。

> 年と月は関係なく、例えば当日が第2金曜日であれば翌月の第2金曜日になりますので30などの数字が返ればOKです。

まず、当日を求めます。今日なら、DateTime.Today ですね。どういう風に当日を求めるかは、記載がないので省きます。
次に、当月1日を求めます。当日が DateTime thatDay; なら
var month1stDay = thatDay.AddDay( 1- thatDay.Day );
で求まります。
第1金曜日の日付を求めます。

どうやって求めればいいかはこのプログラムの根幹なので書きません。
わからなかったら、DateTime 構造体のプロパティに何があるかを調査し、
カレンダー(実際の紙のカレンダーがいいでしょう。銀行とかでもらえる一年分のやつでいいです)と
にらめっこしながら何を使えばいいかを考えてみるとよいでしょう。

第1金曜日が求まれば、あとは、その一週間後が第2金曜日なので日付をずらします。

これで、とりあえず当日と同じ月の第2金曜日が求まります(month2ndFridayとします)。

当日が第二金曜日なら次の第2金曜日なので、
month2ndFriday < thatDay
になる場合は、第2金曜日を翌月の第2金曜日で計算しなおします。

翌月1日は、month1stDay.AddMonths(1); で求まります。

month2ndFriday が求まったので、
TimeSpan span = month2ndFriday-thatDay;
とすれば、次の第2金曜日までのずれが求まります。

引用返信 編集キー/
■65763 / inTopicNo.3)  Re[2]: 毎月の特定曜日までの日数を取得したい
□投稿者/ mark225 (2回)-(2013/03/16(Sat) 15:59:46)
早速の回答をいただき、有り難うございました。

処理手順を詳しく説明して頂いたので助かりました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -