VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

リンク元へ戻ります。 日付・時刻関係のメニュー
1.日付時刻表示書式指定文字の使用例及び簡易リファレンス
2.現在日付と現在時刻を取得及び設定
3.指定した日付の曜日を求める及び第○□曜日の算出方法
4.指定した年月の末日を求める及びうるう年及び干支を求める
5.日付データを変換する及び秒・ミリ秒等から時分秒単位に変換する
6.日付及び時間に関する計算色々
7.経過時間計測色々
8.指定時間待つ(安全な待機関数)
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.その他、当サイト内に掲載の日付・時刻に関するサンプル


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.




このページのトップへ移動します。