とりあえず半歩

学んだことを1日1個、簡単なことでも良いから記録していきたい。

指定日数前の年月日を取る

課題

バッチで指定日数前の日付を取りたかったが、月をまたぐと大変面倒なため、VBScriptで実現する。

実際には前日の日付を取得し、それをファイル名に使用し処理を行う。その処理自体はバッチでも十分な内容なのだが、前日の日付を取得することがバッチでは面倒なのでVBScriptを使った。

実行

コード

Option Explicit

Dim yesterday
Dim text

yesterday =  DateAdd("d", -1, Date)
text = Year(yesterday) & Month(yesterday) & Day(yesterday)

' textを使った何らかの処理
' 例えば...
MsgBox text

結果

DateAdd関数を使えばあら簡単。

先のコードは前日の日付を取得するものだが、DateAdd関数の第二引数を変更することで任意の日数前もしくは日数後の日付を取得出来る。

また、日付から年や月、日をそれぞれ抜き出すにはコード例のようにYear, Month, Day関数を使えば実現できる。

参考