DateDiff【デイトディフ】関数
日付や時間の間隔を計算するには、DateDiff【デイトディフ】関数を使用します。
DateDiff【デイトディフ】関数は、第二引数Date1【デイトワン】と第三引数Date2【デートツー】に指定された、2つの日付や時刻の間隔を第一引数Interval【インターバル】に指定された単位で計算して、その結果をバリアント型(内部処理形式のDateのVariant)の値で返します。
DateDiff【デイトディフ】関数の書式と引数の説明
[]内は省略可能です。
DateDiff(Interval,Date1,Date2 [, FirstDayOfWeek] [, FirstWeekOfYear])
【戻り値】バリアント型(内部処理形式のDateのVariant)
- InterVal【インターバル】(必須)
日付や時刻の間隔を計算する単位を下記の文字列で指定します。記述するときは「ダブルクオティーション(“)」で囲みます。Intervalの設定値 設定値 説明 yyyy 年 q 四半期 m 月 y 年間通算日 d 日 w 週日 ww 週 h 時 n 分 s 秒 - Date1【デイトワン】(必須)
間隔を計算したい日付や時刻の値をバリアント型(内部処理形式のDataのVariant)の値、または日付リテラルを使用して指定します。 - Date2【デイトツー】(必須)
間隔を計算したい日付や時刻の値をバリアント型(内部処理形式のDataのVariant)の値、または日付リテラルを使用して指定します。※引数Date1【デイトワン】に、引数Date2【デイトツー】よりあとの日付や時刻を指定すると計算結果は負の値になります。 - firstdayofweek【ファーストデイオフウィーク】(省略可)
週の始まりの曜日を指定します。既定値は日曜日です。設定値についてはこちらをご覧ください。 - firstweekofyear【ファーストディオフイヤー】(省略可)
年度の第1週を指定します。既定値は、1月1日を含む週を第一週とします。設定値についてはこちらをご覧ください。
設定値の「内部処理形式のDataのVariant」の指定方法
日付の場合は、DateSerial関数で指定
時刻の場合は、TimeSerial関数で指定
すれば、「内部処理形式のDataのVariant」の日付、時刻データが返ります。
日付リテラルとは
日付型データとして確実に認識させるには
日付を(月/日/年)の順番で記述して「#【シャープキゴウ】」で
囲みます。(例:#5/1/2017#)これを日付リテラルといいます。
2017年1月1日から現在までの日付間隔計算コード例
Sub 日付間隔計算() Dim 年初 As Variant 年初 = DateSerial(2017, 1, 1) MsgBox 年初 & "から今までの" & vbCrLf & _ "年数:" & DateDiff("yyyy", 年初, Date) & vbCrLf & _ "月数:" & DateDiff("m", 年初, Date) & vbCrLf & _ "日数:" & DateDiff("d", 年初, Date) End Sub
実行結果
以上でDateDiff【デイトディフ】関数についての解説を終了します。ありがとうございました。
日付・時刻関数一覧表
日付や時刻の関数一覧表です。関数名がリンクになっています。
クリックすると詳細説明ページが開きます。
関数名 | 説明 |
---|---|
Date | 現在の「日付」を取得します。 |
Year | 日付から「年」を取得します。 |
Month | 日付から「月」を取得します。 |
Day | 日付から「日」を取得します。 |
DatePart | 年・月・日を部分的に取得します。 |
Now | 現在の「日時」を取得します。 |
Time | 現在の「時刻」を取得します。 |
Hour | 時刻の「時」を取得します。 |
Minute | 時刻の「分」を取得します。 |
Second | 時刻の「秒」を取得します。 |
Weekday | 曜日を表す「整数値」を取得します。 |
WeekdayName | 曜日を表す整数値を「曜日名」に変換します。 |
DateSerial | 年・月・日を表す整数値から日付データに変換します。 |
TimeSerial | 時・分・秒を表す整数値から時刻データに変換します。 |
DateDiff | 日付や時間の間隔を計算します。 |
DateAdd | 時間を加算または減算した日付や時刻を取得します。 |
Timer | 経過した秒数を取得します。 |
CDate | データ型を日付型に変換します。 |
IsDate | 日付や時刻として扱えるかを調べます。 |
DateValue | 日付を表す文字列式を日付型(Date)に変換します。 |
TimeValue | 時刻を表す文字列式を日付型(Date)に変換します。 |