メイン画像

VBScript - 日付の計算や間隔の取得

VBScript - 日付の計算や間隔の取得


日付を計算する関数、日付と日付の間隔を求める関数を紹介する。

日付を計算する

DateAdd 関数で日付の計算ができる。

DateAdd( Interval, Number, Date )

Interval に追加する時間間隔を表す文字列を指定する(後述)。

Number に追加する時間間隔を表す値を指定する。
プラスの数なら将来、マイナスの数なら過去の日時となる。

Date に計算の元になる日付を指定する。

Interval に指定できる値は以下のとおり。

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

 

例)10日後を求める。

WScript.Echo DateAdd("d", 10, #2023-01-02 03:04:05#)
' → 2023/01/12 3:04:05

例)1週間前を求める。

WScript.Echo DateAdd("ww", -1, #2023-01-02 03:04:05#)
' → 2022/12/26 3:04:05

計算結果が西暦100年よりも前になる場合はエラーが発生する。

エラーの内容は「Microsoft VBScript 実行時エラー: プロシージャの呼び出し、または引数が不正です。: ‘DateAdd’」

WScript.Echo DateAdd("yyyy", -1924, #2023-01-02 03:04:05#)
' → 西暦99年になるのでエラー

計算後の日付が存在しない日付であってもエラーにはならない。
自動で補正される。
試してみた限り、直前の存在する日付に補正されるよう。

例)2022年8月31日の1ヶ月後は、2022年9月30日となる。

WScript.Echo DateAdd("m", 1, #2022-08-31#)
' → 2022/09/30

例)2022年8月31日の2ヶ月前は、2022年6月30日となる。

WScript.Echo DateAdd("m", -2, #2022-08-31#)
' → 2022/06/30

例)2022年8月31日の6ヶ月前は、2022年2月28日となる。

WScript.Echo DateAdd("m", -6, #2022-08-31#)
' → 2022/02/28

日付と日付の間隔を求める

DateDiff 関数は日付と日付の間隔を返す。

DateDiff( Interval, Date1, Date2, [FirstDayOfWeek = vbSunday], [FirstWeekOfYear = vbFirstJan1] )

Interval に間隔を計算するための時間単位を表す文字列を指定する。

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

Date1Date2 に日付を指定する。
Date1 が基準となる。

FirstDayOfWeek に週の始まりの曜日を指定する。
省略した場合、日曜となる。

定数 説明
vbUseSystemDayOfWeek 0 各国語対応 (NLS) API の設定値を使用する。
vbSunday 1 日曜
vbMonday 2 月曜
vbTuesday 3 火曜
vbWednesday 4 水曜
vbThursday 5 木曜
vbFriday 6 金曜
vbSaturday 7 土曜

FirstWeekOfYear に年度の第1週を表す値を指定する。
省略した場合、1月1日を含む週が第1週となる。

定数 説明
vbUseSystem 0 各国語対応 (NLS) API の設定値を使用する。
vbFirstJan1 1 1 月 1 日を含む週を年度の第 1 週として扱う。
vbFirstFourDays 2 7 日のうち少なくとも 4 日が新年度に含まれる週を年度の第 1 週として扱う。
vbFirstFullWeek 3 全体が新年度に含まれる最初の週を年度の第 1 週として扱う。

例)日数を求める。

WScript.Echo DateDiff("d", #2022-08-01#, #2022-07-31#)
'  → -1

WScript.Echo DateDiff("d", #2022-08-01#, #2022-08-01#)
'  → 0

WScript.Echo DateDiff("d", #2022-07-31#, #2022-08-01#)
'  → 1

アカウントを作成 して、もっと沢山の記事を読みませんか?


この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。


この記事にコメントをしてみませんか?


酒とアクアリウムが最近の楽しみ。

おすすめの記事