• ベストアンサー

日にちの求め方

テキストボックスに「2005/01」と入力させて、コマンドボタンを押すと、1月は31日まであるのでラベルに「31」と表示する。 同じく「2005/06」と入力すると6月は30日まであるので「30」と表示させるような仕組みを作りたいのですが、月の最終日の日付(1月なら31日、6月なら30日)の取得方法がわかりません。 ご教授のほど、宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • iwaiwaiwa
  • ベストアンサー率18% (25/137)
回答No.1

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)
回答No.3

条件式で分岐させれば、いいと思います。 いちお、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

回答No.2

一番簡単なのは M(1)=31:M(2)=28:M(3)=31・・・・ と設定してください。 nichi=m(i) でiに何月かの数値をいれれば良いですよね。 但し、 2月は28と29日がありますから要注意してください。うる年かどうか確認するソフトを作成して うるう年ならM(2)=29 にしてくださいよ。