日付時刻:日付・時刻の間隔を取得( DateDiff 関数 )
2015/08/26
DateDiff 関数の使い方
result = DateDiff ( interval, date1, date2, [ firstdayofweek, firstweekofyear ] )
引数・戻り値
- interval ・・・ 取得する日付間の間隔の「時刻・時間の単位」を表す文字列式を指定します(「時刻・時間単位の設定値表」を参照 )。
- date1,date2 ・・・ 比較する日付・時刻を指定します(内部処理形式 Date のバリアント型の値、もしくはリテラル文字列)。
- firstdayofweek ・・・ 週の始まりの曜日を表す定数を指定します。省略すると日曜日を指定したものとみなされます(「週の始まりの曜日を示す定数」を参照 )。
- firstweekofyear ・・・ 年度の第 1 週を表す定数を指定します。省略すると、1 月 1 日を含む週が第 1 週とみなされます(「年度の始まりを示す定数」を参照 )。
- result ・・・ 2つの日付・時間( date1 と date2 )の間隔を表す数値(Long 型)。
時刻・時間単位の設定値表(interval に指定する値)
値 | 内容 | 備考 |
yyyy | 年 | |
q | 四半期 | |
m | 月 | |
y | 年間通算日 | d を指定した場合と同じ |
d | 日 | |
w | 週日 | 週間数( date1 の曜日から date2 までのその曜日の数。ただし date1 自体は数に含めない)。 |
ww | 週 | 週間数( date1 から date2 までの日曜日の数。ただし date1 が日曜日の場合、date1 は数に含めない)。 |
h | 時 | |
n | 分 | |
s | 秒 |
週の始まりの曜日を示す定数(firstdayofweek に指定する値)
値 | 定数 | 内容 |
0 | vbUseSystem | NLS(システムの各国対応)APIの設定値を使用 |
1 | vbSunday | 日曜日(規定値) |
2 | vbMonday | 月曜日 |
3 | vbTuesday | 火曜日 |
4 | vbWednesday | 水曜日 |
5 | vbThursday | 木曜日 |
6 | vbFriday | 金曜日 |
7 | vbSaturday | 土曜日 |
年度の始まりを示す定数(firstweekofyear に指定する値)
値 | 定数 | 内容 |
0 | vbUseSystem | NLS(システムの各国対応)APIの設定値を使用 |
1 | vbFirstJan1 | 1月1日を含む週を年度の第1週とする(規定値) |
2 | vbFirstFourDays | 7日のうち少なくとも4日が新年度に含まれる週を年度の第1週とする |
3 | vbFirstFullWeek | 全体が新年度に含まれる最初の週を年度の第1週とする |
DateDiff 関数の使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
Sub Sample_DateDiff() Dim myDate1 As Date, myDate2 As Date Dim msg myDate1 = #4/20/2005 7:08:21 PM# myDate2 = Now msg = "myDate1 :" & myDate1 & Chr(13) & _ "myDate2 :" & myDate2 & Chr(13) & _ "yyyy(年) :" & DateDiff("yyyy", myDate1, myDate2) & Chr(13) & _ "m(月) :" & DateDiff("m", myDate1, myDate2) & Chr(13) & _ "d(日) :" & DateDiff("d", myDate1, myDate2) & Chr(13) & _ "ww(週) :" & DateDiff("ww", myDate1, myDate2) & Chr(13) & _ "y(年日) :" & DateDiff("y", myDate1, myDate2) & Chr(13) & _ "w(週日) :" & DateDiff("w", myDate1, myDate2) & Chr(13) & _ "q(四半期):" & DateDiff("q", myDate1, myDate2) & Chr(13) & _ "h(時) :" & DateDiff("h", myDate1, myDate2) & Chr(13) & _ "n(分) :" & DateDiff("n", myDate1, myDate2) & Chr(13) & _ "s(秒) :" & DateDiff("s", myDate1, myDate2) Debug.Print msg End Sub |
実行結果
関連記事
-
日付時刻:文字列から日付・時刻データを取得( DateValue 関数、TimeValue 関数 )
DateValue 関数(文字列から日付データを取得) 【書式】 date_va …
-
ユーザー定義関数:セルを取得する(ThisCell プロパティ)
入力されたセルを取得する ワークシート上で使用する Function プロシージ …
-
フォント 太字・斜体(Bold, Italic, FontStyle プロパティ)
太字の設定(Bold プロパティ) Bold プロパティは、フォントを太字にする …
-
指定した数のスペースを挿入する(Spc 関数)
指定した数のスペースを挿入 指定した数のスペースを挿入するには、Spc 関数を使 …
-
指定した数値を文字列に変換する(Str 関数)
Str 関数 の使い方 Str 関数は、数値・数式を文字列に変換して返す関数です …
-
出力位置、書き込み位置を設定(Tab 関数)
出力位置、書き込み位置を設定 Tab 関数 は、Print メソッド、または P …
-
VBA で正規表現を使う(RegExp オブジェクト)
RegExp オブジェクト VBA で正規表現を使うには、VBScript のR …
-
日付時刻:数値から日付・時刻データを取得( DateSerial 関数、TimeSerial 関数 )
DateSerial 関数(数値を使って日付データを取得) 【書式】 date …
-
変数が日付型かどうかをチェックする( IsDate 関数 )
IsDate 関数の使い方 【書式】 result = IsDate( expr …
-
ユーザー設定リストを使って並べ替える(Sort)
VBAでリスト、テーブルを並べ替える(Sort) VBAで、ソートを行うには、S …