訪問して頂きありがとうございます。まさふくろーです。
この記事では、2つの指定した日付の間隔を求める方法をご紹介します。
2つの指定した日付の間隔を求める

使用する関数
DateDiff関数
DateDiff(interval, date1, date2 [, firstdayofweek] [, firstweekofyear])
| 説明 |
| 指定した開始日と終了日の間隔を返します。 |
| 指定項目 | 必須 | 説明 |
| interval |
〇 |
時間単位を表す文字列を指定します。 |
| 指定する値は、以下の表になります。 | ||
| date1 | 〇 | 間隔を計算する開始日を指定します。 |
| date2 | 〇 | 間隔を計算する終了日を指定します。 |
| firstdayofweek | ー | 週の始まりの曜日を表す定数または値を指定します。 |
| 指定する値は、以下の表になります。 | ||
| firstweekofyear | ー | 年度の第1週を表す定数または値を指定します。 |
| 指定する値は、以下の表になります。 |
引数「interval」に指定する値
| 値 | 内容 | 値 | 内容 |
| yyyy | 年 | w | 週日 |
| q | 四半期 | ww | 週 |
| m | 月 | h | 時 |
| y | 年間通算日 | n | 分 |
| d | 日 | s | 秒 |
「週」単位と「週日」単位の違いは、週を計算する基準にあります。 「週」単位の場合、指定した日付から「日曜日」がいくつあるかを計算して加算します。 対して、「週日」単位の場合は、指定した日付の曜日がいくつあるかを計算します。 「週」と「週日」の違い
引数「firstdayofweek」に指定する定数と値
| 定数 | 値 | 内容 |
| vbSunday |
1 | 日曜日 (既定値) |
| vbMonday | 2 | 月曜日 |
| vbTuesday | 3 | 火曜日 |
| vbWednesday | 4 | 水曜日 |
| vbThursday | 5 | 木曜日 |
| vbFriday | 6 | 金曜日 |
| vbSaturday | 7 | 土曜日 |
引数「firstweekofyear」に指定する定数と値
| 定数 | 値 | 内容 |
| vbFirstJan1 |
1 | 1月1日を含む週を年度の第1週とする (既定値) |
| vbFirstFourDays | 2 | 7日のうち、少なくとも4日が新年度に含まれる週を年度の第1週とする |
| vbFirstFullWeek | 3 | 全体が新年度に含まれる最初の週の値を、年度の第1週とする |
サンプルプログラム
|
1 2 3 4 5 6 7 8 9 10 11 12 |
Private Sub Sample() Dim value1 As Date Dim value2 As Date value1 = #10/27/2020# value2 = #12/31/2020# MsgBox "2つの日付の日数:" & DateDiff("d", value1, value2) MsgBox "2つの日付の月数:" & DateDiff("m", value1, value2) End Sub |
| 1 | Subプロシージャ「Sample」を作成。 |
| 6 |
開始日を、日付型変数「value1」に代入します。 |
| 7 | 終了日を、日付型変数「value2」に代入します。 |
| 9 | 変数「value1」「value2」の値から日数を取得し、結果をメッセージボックスに表示します。 |
| 10 | 変数「value1」「value2」の値から月数を取得し、結果をメッセージボックスに表示します。 |
実行結果


関連記事
最後まで読んでいただき、ありがとうございました!
本のまとめ関連記事はこちら

