怠日記

写真・金魚・昆虫・プログラミングの趣味を語るサイトです。似たようなことをnoteにも書いたり書いてなかったり。

VBScript - 日付/時刻を文字列に変換する | FormatDateTime関数

書式設定した日付または時刻を文字列で取得するには 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