VBScript - 日付・時刻から年/月/日/時/分/秒の部分を取得する
VBScript - 日付・時刻から年/月/日/時/分/秒の部分を取得する
Date 型の変数から日付や時刻の一部分を取得する関数を紹介する。
日付の一部分を取得する
Year 関数は日付から年を取得する。
Month 関数は日付から月を取得する。
Day 関数は日付から日(月の何日か)を取得する。
いずれの関数も整数が返る。
Year( Date )
Month( Date )
Day( Date )
Date
には日付(Date 型の値)を指定する。
時刻の一部分を取得する
Hour 関数は日付から時を取得する。
Minute 関数は日付から分を取得する。
Second 関数は日付から秒を取得する。
いずれの関数も整数が返る。
Hour( Time )
Minute( Time )
Second( Time )
Time
には日付(Date 型の値)を指定する。
曜日を取得する
Weekday 関数は曜日を表す整数を返す。
日曜なら 1 、月曜なら 2 …… 土曜なら 7 が返る。
Weekday( Date, [FirstDayOfWeek = vbSunday] )
Date
に日付を指定する。
FirstDayOfWeek
に週の始まりの曜日を指定する。
省略した場合、日曜となる。
定数 | 値 | 説明 |
---|---|---|
vbUseSystemDayOfWeek | 0 |
各国語対応 (NLS) API の設定値を使用する。 |
vbSunday | 1 |
日曜 |
vbMonday | 2 |
月曜 |
vbTuesday | 3 |
火曜 |
vbWednesday | 4 |
水曜 |
vbThursday | 5 |
木曜 |
vbFriday | 6 |
金曜 |
vbSaturday | 7 |
土曜 |
戻り値は曜日を表す整数。
定数 | 値 | 説明 |
---|---|---|
vbSunday | 1 |
日曜 |
vbMonday | 2 |
月曜 |
vbTuesday | 3 |
火曜 |
vbWednesday | 4 |
水曜 |
vbThursday | 5 |
木曜 |
vbFriday | 6 |
金曜 |
vbSaturday | 7 |
土曜 |
WeekdayName 関数は指定された曜日を表す文字列を返す。
WeekdayName( Weekday, [Abbreviate = False], [FirstDayOfWeek = vbUseSystemDayOfWeek] )
Weekday
に曜日を表す整数を指定する。
Abbreviate
に曜日名を省略するかどうかを指定する。
省略するなら True 、省略しないなら False 。
省略した場合、 False 。
FirstDayOfWeek
に週の始まりの曜日を指定する。
指定可能な値は Weekday 関数と同じ。
省略した場合、「各国語対応 (NLS) API の設定値」となる。
以下のコードは、曜日・曜日名を取得する。
WScript.Echo Weekday(#2023-01-02 03:04:05#)
' → 2
WScript.Echo WeekdayName(2)
' → 月曜日
WScript.Echo WeekdayName(2, True)
' → 月
月の名前を取得する
MonthName 関数は月を表す名前を返す。
*たとえば9月なら「September」や「Sep」といった月名が取得できると思っていたが、どうやら違うようだ。
英語圏で実行しないと、思っていた月名は取得できないらしい。
MonthName( Month, [Abbreviate = False] )
Month
は月を示す数値を指定する。1月なら 1 、2月なら 2 となる。
Abbreviate
に月名を短縮するかどうかを指定する。
省略するなら True 、省略しないなら False 。
省略した場合、 False 。
以下のコードは、月名を取得する。
WScript.Echo MonthName(9)
' → 9月
WScript.Echo MonthName(9, True)
' → 9
日付や時刻の一部分を取得する
DatePart 関数は日付から指定された部分を取得する。
DatePart( Interval, Date, [FirstDayOfWeek = vbSunday], [FirstWeekOfYear = vbFirstJan1] )
Interval
は取得する日付や時刻の部分を示す文字列を指定する。
値 | 内容 |
---|---|
yyyy |
年 |
q |
四半期 |
m |
月 |
y |
年間通算日 |
d |
日 |
w |
週日 |
ww |
週 |
h |
時 |
n |
分 |
s |
秒 |
Date
は日付を指定する。
FirstDayOfWeek
に週の始まりの曜日を指定する。
指定可能な値は Weekday 関数と同じ。
省略した場合、日曜となる。
FirstWeekOfYear
に年度の第1週を表す値を指定する。
省略した場合、1月1日を含む週が第1週となる。
定数 | 値 | 説明 |
---|---|---|
vbUseSystem | 0 |
各国語対応 (NLS) API の設定値を使用する。 |
vbFirstJan1 | 1 |
1 月 1 日を含む週を年度の第 1 週として扱う。 |
vbFirstFourDays | 2 |
7 日のうち少なくとも 4 日が新年度に含まれる週を年度の第 1 週として扱う。 |
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)
指定した値 | 値の説明 | #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 |
書式設定した日付または時刻を文字列で取得する
FormatDateTime 関数は書式設定した日付または時刻を文字列で返す。
VBA や VB6 にある Format 関数とは違い、自由に書式を指定することはできない。
FormatDateTime( Date, [NamedFormat = vbGeneralDate] )
Date
は日付を指定する。
NamedFormat
はどの書式を設定するか指定する。
省略した場合、 0
(定数: vbGeneralDate
)となる。
定数 | 値 | 説明 |
---|---|---|
vbGeneralDate | 0 |
日付か時刻、または両方を表示する。 日付部がある場合は、日付を短い形式で表示する。 時刻部がある場合は、時刻を長い形式で表示する。 両方がある場合は、両方とも表示する。 |
vbLongDate | 1 |
[地域のプロパティ] で指定されている長い形式で日付を表示する。 |
vbShortDate | 2 |
[地域のプロパティ] で指定されている短い形式で日付を表示する。 |
vbLongTime | 3 |
[地域のプロパティ] で指定されている形式で時刻を表示する。 |
vbShortTime | 4 |
24 時間形式(hh:mm)で時刻を表示する。 |
以下のコードは、書式設定した日付を取得する。
WScript.Echo FormatDateTime(#2023-01-02 03:04:05#)
' → 2023/01/02 3:04:05
WScript.Echo FormatDateTime(#2023-01-02 03:04:05#, 1)
' → 2023年1月2日
引数と戻り値のサンプル。
引数 Date |
引数 NamedFormat |
戻り値 |
---|---|---|
#2023-01-02 03:04:05# | 0 | 2023/01/02 3:04:05 |
#2023-01-02# | 0 | 2023/01/02 |
#03:04:05# | 0 | 3:04:05 |
#2023-01-02 03:04:05# | 1 | 2023年1月2日 |
#2023-01-02 03:04:05# | 2 | 2023/01/02 |
#2023-01-02 03:04:05# | 3 | 3:04:05 |
#2023-01-02 03:04:05# | 4 | 03:04 |
アカウントを作成 して、もっと沢山の記事を読みませんか?
この記事にコメントをしてみませんか?