2023年6月12日月曜日

【VBScript】過去、未来、今日の日付の取得方法 (昨日、明日、1年前、1年後等)

event_note6月 12, 2023

概要

VBScriptで日付を取得する方法です。
以下の日付を取得するサンプルです。 

  • 今日、昨日、明日 の日付
  • 一週間前と後 の日付
  • 一か月前と後 の日付
  • 一年前と後 の日付

コード

Dim today, yesterday, tomorrow, oneWeekAgo, oneWeekLater, oneMonthAgo, oneMonthLater, oneYearAgo, oneYearLater
today = Date()
yesterday = DateAdd("d", -1, today)
tomorrow = DateAdd("d", 1, today)
oneWeekAgo = DateAdd("ww", -1, today)
oneWeekLater = DateAdd("ww", 1, today)
oneMonthAgo = DateAdd("m", -1, today)
oneMonthLater = DateAdd("m", 1, today)
oneYearAgo = DateAdd("yyyy", -1, today)
oneYearLater = DateAdd("yyyy", 1, today)

Dim output
output = "今日の日付: " & today & vbCrLf
output = output & "昨日の日付: " & yesterday & vbCrLf
output = output & "明日の日付: " & tomorrow & vbCrLf
output = output & "一週間前の日付: " & oneWeekAgo & vbCrLf
output = output & "一週間後の日付: " & oneWeekLater & vbCrLf
output = output & "一か月前の日付: " & oneMonthAgo & vbCrLf
output = output & "一か月後の日付: " & oneMonthLater & vbCrLf
output = output & "一年前の日付: " & oneYearAgo & vbCrLf
output = output & "一年後の日付: " & oneYearLater

MsgBox output

補足

いずれも、DateAddで計算します。
 
第一引数は、期間の単位を指定します。
第二引数で、前の日付ならマイナスとします。
第三引数は基準となる日付を設定します。今回の場合は今日の日を基準としていますが、特定の日付からの前後の日を出すことも可能です。