DateDiff
構文
DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])
| 引数 | 説明 |
|---|---|
interval |
必須。date1 と date2 の間を計算するために使用する間隔の文字列。
次の値を使用できます。
|
date1, date2 |
必須。日付式。計算で使用する 2 つの日付です。 |
firstdayofweek |
オプション。週の最初の曜日を指定する定数。指定しない場合は日曜日と見なされます。次の値を使用できます。
|
firstweekofyear |
オプション。年の最初の週を指定する定数。指定しない場合は 1 月 1 日の週が最初の週とみなされます。
|
DateDiff 関数を使用して、指定した時間間隔が 2 つの日付の間にどれだけあるのかを計算できます。たとえば、2 つの日付の間の日数、または今日から年度末までの週数を計算できます。
date1 と date2 の間の日数を計算するには、y (年間通算日) または d (日) を使用します。たとえば、DateDiff(d, date1,date2) は date1 と date2 の間の日数を計算します。関数でテキスト文字列が必要なため、ハードコード日付は引用符 ("") で囲む必要があります。
interval に w (曜日) を指定すると、DateDiff 関数は 2 つの日付の間の週数を返します。たとえば、date1 が月曜日であれば、DateDiff は date2 までの月曜日の数をカウントします。date2 はカウントしますが、date1 はカウントしません。
interval に ww (週) を指定すると、DateDiff 関数は 2 つの日付の間のカレンダー週数を返します。date1 と date2 の間の日曜日の数を計算します。DateDiff は、date2 が日曜日の場合に date2 をカウントしますが、date1 が日曜日の場合であっても date1 はカウントしません。
date1 が date2 より後の日付の場合、DateDiff 関数はマイナスの値を返します。
firstdayofweek 引数は間隔値 w と ww を使用する計算に影響します。
date1 または date2 が日付リテラルの場合、指定される年度がその日付の固定年度となります。ただし、date1 または date2 を引用符 (" ") で囲んで年度を省略すると、現在の年度がコードに挿入されます。現在の年度は date1 または date2 式が評価されるたびに挿入されます。これにより、さまざまな年度で使用するコードを記述することができます。
12 月 31 日と翌年の 1 月 1 日を比較する場合、DateDiff for Year (yyyy) は、1 日が経過しただけでも [1] を返します。
例
次の例では、指定された日付と今日の間の日数が返されます。
Function DiffADate(theDate)
DiffADate = "Days from today: " & DateDiff("d", Now, theDate)
End Function
次の例では [2] が返されます。
DateDiff("yyyy","01/01/2016","01/01/2018")
次の例では [4] が返されます。
DateDiff("q","01/01/2016","01/01/2017")
次の例では [12] が返されます。
DateDiff("m","01/01/2016","01/01/2017")
次の例では [365] が返されます。
DateDiff("y","01/01/2016","01/01/2017")
次の例では [365] が返されます。
DateDiff("dd","01/01/2016","01/01/2017")
次の例では [52] が返されます。
DateDiff("w","01/01/2016","01/01/2017")
次の例では [52] が返されます。
DateDiff("ww","01/01/2016","01/01/2017")
次の例では [8760] が返されます。
DateDiff("h","01/01/2016","01/01/2017")
次の例では [525600] が返されます。
DateDiff("n","01/01/2016","01/01/2017")
次の例では [31536000] が返されます。
DateDiff("s","01/01/2016","01/01/2017")