VBScriptでDateAdd関数を使って日付けの加算、減算に関するサンプルスクリプトおよび動作説明について以下に記します。
DateAdd関数は以下のように使用します。
DateAdd(インターバル, 加減算値, 基準となる日時)
インターバルに関しては以下の設定値になります。
| 設定値 | 内容 |
| yyyy | 年 |
| q | 四半期 |
| m | 月 |
| y | 年間通算日 |
| d | 日 |
| w | 週日 |
| ww | 週 |
| h | 時 |
| n | 分 |
| s | 秒 |
詳細は以下のURL(MSDN)を参照してみてください。
http://msdn.microsoft.com/ja-jp/library/cc410235.aspx
以下にDateAdd関数を使用したVBScriptサンプルコードおよび動作結果について記します。
以下にDateAdd関数のサンプルコードを記します。
サンプル例
n = Now
WScript.Echo "--- Year sample ---"
WScript.Echo "Now : " & n
d = DateAdd("yyyy", 1, n)
WScript.Echo "Now + 1 Year : " & d
d = DateAdd("yyyy", -1, n)
WScript.Echo "Now - 1 Year : " & d
WScript.Echo "--- Month sample ---"
WScript.Echo "Now : " & n
d = DateAdd("m", 1, n)
WScript.Echo "Now + 1 Month : " & d
d = DateAdd("m", -1, n)
WScript.Echo "Now - 1 Month : " & d
WScript.Echo "--- Day sample ---"
WScript.Echo "Now : " & n
d = DateAdd("d", 1, n)
WScript.Echo "Now + 1 Day : " & d
d = DateAdd("d", -1, n)
WScript.Echo "Now - 1 Day : " & d
WScript.Echo "--- Others ---"
dt = "2012/1/10 01:02:03"
WScript.Echo "dt = " & dt
WScript.Echo "DateAdd(""yyyy"", 1, dt) = " & DateAdd("yyyy", 1, dt)
WScript.Echo "DateAdd(""m"", -10, dt) = " & DateAdd("m", -10, dt)
WScript.Echo "DateAdd(""d"", 5, dt) = " & DateAdd("d", 5, dt)
WScript.Echo "DateAdd(""h"", -10, dt) = " & DateAdd("h", 10, dt)
WScript.Echo "DateAdd(""n"", 30, dt) = " & DateAdd("n", 30, dt)
WScript.Echo "DateAdd(""s"", -50, dt) = " & DateAdd("s", 50, dt)
C:\wsh>cscript /nologo DateAdd.vbs
--- Year sample ---
Now : 2012/07/19 23:27:15
Now + 1 Year : 2013/07/19 23:27:15
Now - 1 Year : 2011/07/19 23:27:15
--- Month sample ---
Now : 2012/07/19 23:27:15
Now + 1 Month : 2012/08/19 23:27:15
Now - 1 Month : 2012/06/19 23:27:15
--- Day sample ---
Now : 2012/07/19 23:27:15
Now + 1 Day : 2012/07/20 23:27:15
Now - 1 Day : 2012/07/18 23:27:15
--- Others ---
dt = 2012/1/10 01:02:03
DateAdd("yyyy", 1, dt) = 2013/01/10 1:02:03
DateAdd("m", -10, dt) = 2011/03/10 1:02:03
DateAdd("d", 5, dt) = 2012/01/15 1:02:03
DateAdd("h", -10, dt) = 2012/01/10 11:02:03
DateAdd("n", 30, dt) = 2012/01/10 1:32:03
DateAdd("s", -50, dt) = 2012/01/10 1:02:53
上記の結果の1つ目は、現在日時から年を1年プラスした値と年を1年マイナスした値を表示しています。
上記の結果の2つ目は、現在日時から月を1ヶ月プラスした値と月を1ヶ月マイナスした値を表示しています。
上記の結果の3つ目は、現在日時から日を1日プラスした値と日を1日マイナスした値を表示しています。
上記の結果の4つ目は、直接入力した文字列日時に対して年・月・日・時・分・秒の加減算を行っています。