書式設定した日付または時刻を文字列で取得するには FormatDateTime 関数を使う。
残念ながら VBA や VB6 の Format 関数とは違い、自由に書式を指定することはできない。
FormatDateTime( Date, [NamedFormat = vbGeneralDate] )
-
Date: 日付
-
NamedFormat: どの書式を設定するか。
省略時は vbGeneralDate となる。
NamedFormat には以下のいずれかを指定する。
- vbGeneralDate(0): 日付か時刻、または両方を表示する。
日付部がある場合は、日付を短い形式で表示する。
時刻部がある場合は、時刻を長い形式で表示する。
両方がある場合は、両方とも表示する。 - vbLongDate(1): 日付を長い形式で表示する。
- vbShortDate(2): 日付を短い形式で表示する。
- vbLongTime(3): 時刻を長い形式で表示する。
- vbShortTime(4): 時刻を短い形式で表示する。
日付や時刻の形式は、コンピュータの地域設定で指定されている内容に従う。
(コントロールパネル → 時計と地域)
以下のコードは、書式設定した日付を取得する。
WScript.Echo FormatDateTime(#2023-01-02 03:04:05#)
' → 2023/01/02 3:04:05
WScript.Echo FormatDateTime(#2023-01-02 03:04:05#, vbLongDate)
' → 2023年1月2日
引数と戻り値のサンプル。
Date NamedFormat 戻り値
--------------------- ----------- ------------------
#2023-01-02 03:04:05# vbGeneralDate 2023/01/02 3:04:05
#2023-01-02# vbGeneralDate 2023/01/02
#03:04:05# vbGeneralDate 3:04:05
#2023-01-02 03:04:05# vbLongDate 2023年1月2日
#2023-01-02 03:04:05# vbShortDate 2023/01/02
#2023-01-02 03:04:05# vbLongTime 3:04:05
#2023-01-02 03:04:05# vbShortTime 03:04