- ベストアンサー
日にちの求め方
テキストボックスに「2005/01」と入力させて、コマンドボタンを押すと、1月は31日まであるのでラベルに「31」と表示する。 同じく「2005/06」と入力すると6月は30日まであるので「30」と表示させるような仕組みを作りたいのですが、月の最終日の日付(1月なら31日、6月なら30日)の取得方法がわかりません。 ご教授のほど、宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
VBはよく分かりませんが、他のプログラミングでは、1月から12月までの月の日数を配列で全部設定しますよ。 ちなみに、Perlでは: @mon = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); # 閏年の処理 if (($year % 4 == 0) && ($year % 100 != 0) || $year % 400 == 0) { $mon[1] = 29; } のようにします。($year は設定してください。)
その他の回答 (2)
- rouden
- ベストアンサー率30% (13/43)
条件式で分岐させれば、いいと思います。 いちお、Select Case文を使ったものを置いておきます。 ・閏年のときの2月の日数が変わる処理はしていません。 Dim Month As Integer '月 Dim LastDay As Integer 'その月の最後の日 Select Case Month Case 2 LastDay = 28 Case 1, 3, 5, 7, 8, 10, 12 LastDay = 31 Case 4, 6, 9, 11 LastDay = 30 End Select
- miracle3535
- ベストアンサー率20% (306/1469)
一番簡単なのは M(1)=31:M(2)=28:M(3)=31・・・・ と設定してください。 nichi=m(i) でiに何月かの数値をいれれば良いですよね。 但し、 2月は28と29日がありますから要注意してください。うる年かどうか確認するソフトを作成して うるう年ならM(2)=29 にしてくださいよ。