4.指定した年月の末日を求める及びうるう年及び干支を求める |
1.指定した年月の末日を求める 2.指定した年月の末日を求める(ゆう(U)さん投稿による簡単な方法) 3.うるう年を求める簡単な方法 4.指定した年月の干支を求める 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6) Option :[Option Explicit] 参照設定:追加なし 使用 API:なし その他 : : |
1.指定した年月の末日を求める |
Option Explicit 'SampleNo=055 2002.05.13 Private Sub Command1_Click() Dim yy As Integer Dim MM As Integer Dim matubi As Integer '年を取り出している yy = Year(DateValue(Text1.Text)) 'Text1.Text = "2013/02" '月を取り出している MM = Month(DateValue(Text1.Text)) If MM <> 2 Then '2月でない場合の処理 Select Case MM Case 1, 3, 5, 7, 8, 10, 12 matubi = 31 Case 4, 6, 9, 11 matubi = 30 End Select Else If yy Mod 4 Then '4で割り切れなければうるう年でない matubi = 28 ElseIf yy Mod 100 Then '4で割り切れ100で割り切れないとうるう年 matubi = 29 ElseIf yy Mod 400 Then '4で割り切れ400で割り切れないとうるう年でない matubi = 28 Else matubi = 29 End If End If Label1.Caption = "末日は " & matubi & " 日です" 'matubi = 28 End Sub |
2.指定した年月の末日を求める(ゆう(U)さん投稿による簡単な方法) |
Private Sub Command1_Click() '指定月の翌月の1日の日付から1日を引くと指定月の末日となる Dim matubi As Integer matubi = Day(DateAdd("d", -1, DateAdd("m", 1, DateValue(Text1.Text)))) 'Text1.Text = "2012/02" Label1.Caption = "末日は " & matubi & " 日です" 'matubi = 29 End Sub |
3.うるう年を求める簡単な方法 |
Private Sub Command1_Click() '指定年の2月29日があればうるう年 If IsDate(Year(DateValue(Text1.Text)) & "/2/29") Then '日付型データと判断される(2月29日がある) Label1.Caption = "うるう年です" Else '日付型データで無いと判断される(2月29日は無い) Label1.Caption = "うるう年ではありません" End If End Sub 以前は、1.指定した年月の末日を求める のような方法で計算して求めていましたが、2.指定した年月の末日を求める で、2月の末日を求めて、29 日だったらうるう年とする方法でもできますし、IsDate関数を使って式が日付データかどうか判断して、日付データなら True を返し日付データでなければ False を返しますので、それを利用して**年2月29日があれば日付データなければ日付データでない、すなわちうるう年でないと判断する。 |
4.指定した年月の干支を求める |
Private Sub Command1_Click() Debug.Print Mid$("申酉戌亥子丑寅卯辰巳午未", (Year(Now) Mod 12) + 1, 1) '巳 Debug.Print Mid$("申酉戌亥子丑寅卯辰巳午未", (Year("2014/01/01") Mod 12) + 1, 1) '午 End Sub |
5. |
6. |