このエントリーをはてなブックマークに追加


日付けの加算や減算を行う・DateAdd

VBScriptでDateAdd関数を使って日付けの加算、減算に関するサンプルスクリプトおよび動作説明について以下に記します。


関連記事

DateAdd関数の書式

DateAdd関数は以下のように使用します。

DateAdd(インターバル, 加減算値, 基準となる日時)

インターバルに関しては以下の設定値になります。

設定値内容
yyyy
q四半期
m
y年間通算日
d
w週日
ww
h
n
s

詳細は以下のURL(MSDN)を参照してみてください。
http://msdn.microsoft.com/ja-jp/library/cc410235.aspx

日付けの加算や減算を行うDateAddd関数のサンプルコードと実行結果

以下にDateAdd関数を使用したVBScriptサンプルコードおよび動作結果について記します。

DateAdd関数のサンプルコード

以下に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)

DateAdd関数のサンプルコードの実行結果

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つ目は、直接入力した文字列日時に対して年・月・日・時・分・秒の加減算を行っています。



添付ファイル: fileDateAdd.vbs 775件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:50:28