質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

4回答

2557閲覧

C# 第2、第4木曜日を取得したい

sin777

総合スコア20

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

1クリップ

投稿2018/10/07 09:19

Windows FormのDateTimePickerで選択した日付が、
第2木曜日か第4木曜日でなければ
「第2木曜日又は第4木曜日を選択して下さい」
とメッセージを出したいと思っています。
木曜日の取得は出来たのですが、第何週目なのかを調べる
事が分かりませんので、宜しければ教えて頂きたいと思います。
お願い致します。

参考になりそうのページがありましたが、VBで書かれてました。
https://oshiete.goo.ne.jp/qa/393196.html

C#

1private void dateTimePicker1_ValueChanged(object sender, EventArgs e) { 2 DateTime dt = dateTimePicker1.Value; 3 DayOfWeek dow = dt.DayOfWeek; 4 if (dow != DayOfWeek.Thursday) 5 { 6 MessageBox.Show("木曜日を選択して下さい。", "確 認", 7 MessageBoxButtons.OK, 8 MessageBoxIcon.Exclamation); 9 return; 10 } 11} 12 13 14コード

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/10/07 09:21

第何週目なのかを調べるのに、こういうふうにコードを書いてみたけどダメだったということを書かないと、丸投げと見られますよ。
sin777

2018/10/07 10:57

yukke_さんの言う通りです。すみませんでした。今後、気を付けます。
guest

回答4

0

そもそも、第〇何曜日とその日が何週目かってのとは意味が違いますよ。
例えば1日が火曜日の場合、7日は第2週目ですが第1月曜日と表現します。なので質問に書いてあるリンク先の第何週目なのかって情報は不要になります。
そのため既に複数人が回答してある通り、単純に1日減らしてから7で割った商で問題ありません。

投稿2018/10/07 10:29

len_souko

総合スコア1337

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sin777

2018/10/07 11:17

len_soukoさん、回答有難う御座います。 第何週目が分かれば、2週目なら第2木曜日があると思ったので、 参考になるのではと思い載せてみました。 しかし、len_soukoさんの説明して頂いた事で、不要だと分かりました。 1日減らしてから7で割った商を使って判断させる様にします。 有難う御座いました。
guest

0

ベストアンサー

日を求めたらそこから 1 を引き、7 で割ってint にキャストし(小数点以下は切り捨てられます)、結果が 1 なら第二木曜日で 3 なら第四木曜日です。

投稿2018/10/07 10:09

Zuishin

総合スコア28656

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sin777

2018/10/07 11:25

Zuishinさん、回答有難う御座いました。 7で割った結果後の説明までして頂きましたので、 ベストアンサーにさせていただきます。
guest

0

木曜日か判断した後、日を7で割った商で第○週か判断できるかと

投稿2018/10/07 09:45

YAmaGNZ

総合スコア10222

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sin777

2018/10/07 11:19

YAmaGNZさん、回答有難う御座いました。
guest

0

日を7で割ればよろしい

投稿2018/10/07 09:24

y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sin777

2018/10/07 11:18

y_waiwaiさん、回答有難う御座いました。
pepperleaf

2018/10/07 12:46 編集

7で割る前に、 +6ですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問