VBScript: DateAddで日付や時刻を計算(加算・減算)する
VBScriptで日付や時刻の計算(加算や減算)を行う場合は、 DateAdd 関数を使用します。 DateAdd関数を使用することで明日の日付(今日 + 1日)を取得したり、 昨日の日付(今日 - 1日)を取得することができます。
DateAdd関数の書式は次の通りです。
書式
DateAdd(計算間隔, 計算数値, 日時)
「計算間隔」には年や月などの計算の対象となる時間間隔を指定します (設定値は後述)。
「計算数値」は計算(加算・減算)する数値です。
過去の日時を計算したい場合はマイナス値を指定します。
「日時」は計算の対象となる日時です。
DateAdd関数の間隔コード
DateAdd関数の第1引数「計算間隔」の主な設定値は次の通りです。
| 設定値 | 内容 |
|---|---|
| yyyy | 年 |
| m | 月 |
| d | 日 |
| ww | 週 |
| h | 時 |
| n | 分 |
| s | 秒 |
DateAdd関数を使った日付・時刻計算の例
次のサンプルコードでは、DataAdd関数を使って日時の計算を行っています。 指定した値と計算結果は下の表にまとめています。
d = "2021/01/01 00:00:00"
WScript.Echo DateAdd("yyyy", -1, d)
WScript.Echo DateAdd("m", 1, d)
WScript.Echo DateAdd("d", -3, d)
WScript.Echo DateAdd("ww", 1, d)
WScript.Echo DateAdd("h", 2, d)
WScript.Echo DateAdd("n", 3, d)
WScript.Echo DateAdd("s", -3, d)
| 計算間隔 | 指定値 d = "2021/01/01 00:00:00" | 結果 |
|---|---|---|
| 年 | DateAdd("yyyy", -1, d) | 2020/01/01 |
| 月 | DateAdd("m", 1, d) | 2021/02/01 |
| 日 | DateAdd("d", -3, d) | 2020/12/29 |
| 週 | DateAdd("ww", 1, d) | 2021/01/08 |
| 時 | DateAdd("h", -2, d) | 2020/12/31 22:00:00 |
| 分 | DateAdd("n", 3, d) | 2021/01/01 0:03:00 |
| 秒 | DateAdd("s", -3, d) | 2020/12/31 23:59:57 |
DateAdd関数の使用シナリオ
DateAdd関数は、以下のようなシナリオで役立ちます。
- 特定の日付から一定期間後の日付を計算する場合
- サブスクリプションの有効期限を計算する場合
- プロジェクトの締め切り日を計算する場合