DateDiff 関数
DateDiff(strInterval, varDate1, varDate2 [, lngWeek, lngYear])
指定された 2 つの日付の時間間隔を返します。
引数
strInterval
引数 varDate1 と引数 varDate2 の間隔を計算するための、時間間隔の単位を表す文字列式を指定します。
設定する値については、次の「設定値」を参照してください。
varDate1, varDate2
設定する値については、次の「設定値」を参照してください。
日付式を指定します。間隔を計算する 2 つの日付を指定します。
varDate2 よりも時間的に後の日付を引数 varDate1 に指定すると、DateDiff 関数は負の数を返します。
日付リテラルを指定した場合、指定した年が日付の固定部分となります。
ただし、ダブルクォーテーション (") で囲み、年を省略すると、式が評価されるたびに現在の年が挿入されます。
lngWeek
varDate2 よりも時間的に後の日付を引数 varDate1 に指定すると、DateDiff 関数は負の数を返します。
日付リテラルを指定した場合、指定した年が日付の固定部分となります。
ただし、ダブルクォーテーション (") で囲み、年を省略すると、式が評価されるたびに現在の年が挿入されます。
省略可能です。
週の始まりの曜日を表す定数を指定します。省略すると、日曜日が指定されます。
lngYear
週の始まりの曜日を表す定数を指定します。省略すると、日曜日が指定されます。
| 定数 | 値 | 内容 |
| vbUseSystemDayOfWeek | 0 | 各国語対応 (NLS) API の設定値を使用します。 |
| vbSunday | 1 | 日曜(既定値) |
| vbMonday | 2 | 月曜 |
| vbTuesday | 3 | 火曜 |
| vbWednesday | 4 | 水曜 |
| vbThursday | 5 | 木曜 |
| vbFriday | 6 | 金曜 |
| vbSaturday | 7 | 土曜 |
省略可能です。
年度の第 1 週を表す定数を指定します。省略すると、1 月 1 日を含む週が第 1 週と指定されます。
年度の第 1 週を表す定数を指定します。省略すると、1 月 1 日を含む週が第 1 週と指定されます。
| 定数 | 値 | 内容 |
| vbUseSystem | 0 | 各国語対応 (NLS) API の設定値を使用します。 |
| vbFirstJan1 | 1 | 1 月 1 日を含む週を年度の第 1 週として扱います。(既定値) |
| vbFirstFourDays | 2 | 7 日のうち少なくとも 4 日が新年度に含まれる週を年度の第 1 週として扱います。 |
| vbFirstFullWeek | 3 | 全体が新年度に含まれる最初の週を年度の第 1 週として扱います。 |
設定値/使用例
| 設定値 | 内容 | 使用例 | 結果 |
| yyyy | 年 | DateDiff("yyyy", "2005/12/31", "2006/01/01") | 1(1日後であっても、年が変われば"1"を返す) |
| q | 四半期 | DateDiff("q", "2005/01/01", "2006/01/01") | 4 |
| m | 月 | DateDiff("m", "2005/01/01", "2006/01/01") | 12 |
| y | 年間通算日 | DateDiff("y", "2005/01/01", "2006/01/01") | 365 |
| d | 日 | DateDiff("d", "2004/01/01", "2005/01/01") | 366(閏年) |
| w | 週日 | DateDiff("w", "2005/02/07", "2005/02/20") | 1(2 つの日付の間の週の数 *1) |
| ww | 週 | DateDiff("ww", "2005/02/07", "2005/02/20") | 2(2 つの日付の間の暦上の週の数 *2) |
| h | 時 | DateDiff("h", "2005/01/01", "2005/01/02") | 24 |
| n | 分 | DateDiff("n", "2005/01/01", "2005/01/02") | 1440 |
| s | 秒 | DateDiff("s", "2005/01/01", "2005/01/02") | 86400 |
備考
DateDiff 関数を使うと、ある日付に対して指定した時間間隔を、加えたり引いたりすることができます。
たとえば、現在から 30 日後の日付や、現在から 45 分後の時刻などを計算できます。
引数 varDate に日数を加えるには、年間通算日 ("y")、日 ("d")、週日 ("w") のいずれかを指定します。
たとえば、現在から 30 日後の日付や、現在から 45 分後の時刻などを計算できます。
引数 varDate に日数を加えるには、年間通算日 ("y")、日 ("d")、週日 ("w") のいずれかを指定します。
DateDiff 関数は、無効な日付を返しません。
strDate = DateDiff("m", 1, "2005/01/31")
上記の例では "2005/02/31" ではなく "2005/02/28" を返します。
strDate = DateDiff("m", 1, "2004/01/31")
上記の例では、2004年は閏年なので "2004/02/29" を返します。
関連
文字列操作
- Asc 関数
- Chr 関数
- Filter 関数
- FormatCurrency 関数
- FormatDateTime 関数
- FormatNumber 関数
- FormatPercent 関数
- InStr 関数
- InStrRev 関数
- Join 関数
- Split 関数
- LCase 関数
- UCase 関数
- Len 関数
- Left 関数
- Mid 関数
- Right 関数
- LTrim 関数
- RTrim 関数
- Trim 関数
- Replace 関数
- Space 関数
- String 関数
- StrReverse 関数
- StrComp 関数
日付処理
- Now 関数
- Date 関数
- Time 関数
- Timer 関数
- DateAdd 関数
- DateDiff 関数
- Year 関数
- Month 関数
- Day 関数
- Hour 関数
- Minute 関数
- Second 関数
- Weekday 関数
- DatePart 関数
- MonthName 関数
- WeekdayName 関数
- DateSerial 関数
- TimeSerial 関数
- DateValue 関数
- TimeValue 関数
数値演算
- Abs 関数
- Sqr 関数
- Fix 関数
- Int 関数
- Round 関数
- Rnd 関数
- Exp 関数
- Log 関数
- Sgn 関数
- Hex 関数
- Oct 関数
- Atn 関数
- Cos 関数
- Sin 関数
- Tan 関数
- 超越関数
