日付から指定された部分を取得するには DatePart 関数を使う。
DatePart( Interval, Date, [FirstDayOfWeek = vbSunday], [FirstWeekOfYear = vbFirstJan1] )
-
Interval: 取得する日付や時刻の部分を示す文字列
-
Date: 日付
-
FirstDayOfWeek: 週の始まりの曜日
指定可能な値は Weekday 関数と同じ。
省略時は日曜が週の始まりとなる。 -
FirstWeekOfYear: 年度の第1週を表す値
省略時は1月1日を含む週が第1週となる。
Interval には以下のいずれかを指定する。
- yyyy : 年
- q : 四半期
- m : 月
- y : 年間通算日
- d : 日
- w : 週日
- ww : 週
- h : 時
- n : 分
- s : 秒
FirstWeekOfYear には以下のいずれかを指定する。
- vbUseSystem(0) : 各国語対応 (NLS) API の設定値を使用
- vbFirstJan1(1) : 1月1日が含まれる週から開始(既定値)
- vbFirstFourDays(2) : 新年で少なくとも4日ある最初の週から開始
- vbFirstFullWeek(3) : 1週間全体が含まれる最初の週から開始
以下のコードは、日付から年/月/日をそれぞれを取得する。
Dim dtm
dtm = #2023-01-02 03:04:05#
WScript.Echo DatePart("yyyy", dtm)
WScript.Echo DatePart("m", dtm)
WScript.Echo DatePart("d", dtm)
下表は Interval の指定値によって戻り値がどう変わるかを確認した結果である。
Interval 意味 #2023-01-02 03:04:05# の場合 #2023-12-31 23:58:59# の場合
-------- ---------- ---------------------------- ----------------------------
yyyy 年 2023 2023
q 四半期 1 4
m 月 1 12
y 年間通算日 2 365
d 日 2 31
w 週日 2 1
ww 週 1 53
h 時 3 23
n 分 4 58
s 秒 5 59