日付時刻 曜日や時間間隔・日付間隔の取得

※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。

※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。

Option Explicit


Sub 曜日Weekday()
'*******************************************************************************
'曜日【Weekday(Date)】Weekday 関数
'*******************************************************************************
'指定された日付の曜日を取得します。
    MsgBox Weekday(Date)
    MsgBox Weekday(Date + 1)
'定数           値  内容
'vbUseSystem    0   NLS API の設定値を使います。
'vbSunday       1   日曜(既定値)
'vbMonday       2   月曜
'vbTuesday      3   火曜
'vbWednesday    4   水曜
'vbThursday     5   木曜
'vbFriday       6   金曜
'vbSaturday     7   土曜
End Sub


Sub 曜日()
'*******************************************************************************
'曜日【WeekdayName(Weekday(Date), False)】WeekdayName 関数
'*******************************************************************************
'指定された曜日を表す文字列を返します。
    MsgBox WeekdayName(Weekday(Date), False)    '曜日あり
    MsgBox WeekdayName(Weekday(Date), True)     '曜日なし
'定数           値  内容
'vbUseSystem    0   NLS API の設定値を使います。
'vbSunday       1   日曜(既定値)
'vbMonday       2   月曜
'vbTuesday      3   火曜
'vbWednesday    4   水曜
'vbThursday     5   木曜
'vbFriday       6   金曜
'vbSaturday     7   土曜
End Sub


Sub 日付間隔()
'*******************************************************************************
'日付間隔【DateDiff("d", 開始日, 終了日)】DateDiff 関数
'*******************************************************************************
'指定された日付までの日数を取得します。
    Const 開始日 = "2000/01/01"
    Const 終了日 = "2000/12/31"
     MsgBox DateDiff("yyyy", 開始日, 終了日) & "年" & vbCr & _
            DateDiff("q", 開始日, 終了日) & "四半期" & vbCr & _
            DateDiff("M", 開始日, 終了日) & "月" & vbCr & _
            DateDiff("y", 開始日, 終了日) & "年間通算日" & vbCr & _
            DateDiff("d", 開始日, 終了日) & "日" & vbCr & _
            DateDiff("w", 開始日, 終了日) & "週日" & vbCr & _
            DateDiff("ww", 開始日, 終了日) & "週" & vbCr & _
            DateDiff("h", 開始日, 終了日) & "時" & vbCr & _
            DateDiff("n", 開始日, 終了日) & "分" & vbCr & _
            DateDiff("s", 開始日, 終了日) & "秒"
'設定値
'-----------------------------------------------------
'設定値 内容
'yyyy   年
'q      四半期
'm      月
'y      年間通算日
'd      日
'w      週日
'ww     週
'h      時
'n      分
's      秒

'定数           値  内容
'vbUseSystem    0   NLS API の設定値を使います。
'vbSunday       1   日曜(既定値)
'vbMonday       2   月曜
'vbTuesday      3   火曜
'vbWednesday    4   水曜
'vbThursday     5   木曜
'vbFriday       6   金曜
'vbSaturday     7   土曜

'定数               値 内容
'vbUseSystem        0 NLS API の設定値を使います。
'vbFirstJan1        1 (既定値)1月1日を含む週を年度の第1週として扱います。
'vbFirstFourDays    2 7日のうち少なくとも4日が新年度に含まれる週を年度の
'                     第1週として扱います。
'vbFirstFullWeek    3 全体が新年度に含まれる最初の週を年度の第1週として扱います。

End Sub


Sub 経過時間()
'*******************************************************************************
'経過時間【DatePart("h", Time)】DatePart 関数
'*******************************************************************************
'指定の日付や時間などが該当値からいくら経過したかを求めます。
    MsgBox "今月" & DatePart("w", Date) & "週経過"
    MsgBox "今年" & DatePart("y", Date) & "日経過"
    MsgBox "今月" & DatePart("d", Date) & "日経過"
    MsgBox "今日" & DatePart("h", Time) & "時間経過"
'設定値
'-----------------------------------------------------
'設定値 内容
'yyyy   年
'q      四半期
'm      月
'y      年間通算日
'd      日
'w      週日
'ww     週
'h      時
'n      分
's      秒

'定数           値  内容
'vbUseSystem    0   NLS API の設定値を使います。
'vbSunday       1   日曜(既定値)
'vbMonday       2   月曜
'vbTuesday      3   火曜
'vbWednesday    4   水曜
'vbThursday     5   木曜
'vbFriday       6   金曜
'vbSaturday     7   土曜

'定数               値 内容
'vbUseSystem        0 NLS API の設定値を使います。
'vbFirstJan1        1 (既定値)1月1日を含む週を年度の第1週として扱います。
'vbFirstFourDays    2 7日のうち少なくとも4日が新年度に含まれる週を年度の
'                     第1週として扱います。
'vbFirstFullWeek    3 全体が新年度に含まれる最初の週を年度の第1週として扱います。

End Sub


Sub 時間間隔()
'*******************************************************************************
'時間間隔【DateAdd("ww", 4, 起算日)】DateAdd 関数
'*******************************************************************************
'加算後の日付や時間を表示します。
    MsgBox "今日から4週間:後" & Format(DateAdd("ww", 4, Date), "yyyy年m月d日")
    MsgBox "今日から10日前:" & Format(DateAdd("d", -10, Date), "yyyy年m月d日")
    MsgBox "今から20分後:" & Format(DateAdd("n", 20, Time), "h時m分")
'設定値
'-----------------------------------------------------
'設定値 内容
'yyyy   年
'q      四半期
'm      月
'y      年間通算日
'd      日
'w      週日
'ww     週
'h      時
'n      分
's      秒
End Sub


Sub 文字列変換日付()
'*******************************************************************************
'文字列変換日付【DateValue(日付)】DateValue 関数
'*******************************************************************************
'文字列を日付に変換します。
    MsgBox DateValue("S13年12月30日")
End Sub


Sub 文字列変換時刻()
'*******************************************************************************
'文字列変換時刻【TimeValue(時刻)】TimeValue 関数
'*******************************************************************************
'文字列を時刻に変換します。
    MsgBox TimeValue("13時54分")
End Sub

 

 

 

2000年01月01日|[VBサンプルコード]:[日付時刻]