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関数は、以下のようなシナリオで役立ちます。

  • 特定の日付から一定期間後の日付を計算する場合
  • サブスクリプションの有効期限を計算する場合
  • プロジェクトの締め切り日を計算する場合
VBScript入門