VBScript: 現在時刻をhh:mm:ss形式で取得する方法

VBScripのTime関数で現在時刻を取得する場合、 「hh:mm:ss」形式ではなく「h:mm:ss」形式で表示されます。 つまり時刻が0時から9時の場合、次のように時刻部分が1桁表示になります。

' 現在時刻
WScript.Echo Time()  ' 5:05:03

これを「hh:mm:ss」形式にするための方法を紹介します。

Right関数を使ってhh:mm:ss形式にする

次のサンプルコードでは、 時間・分・秒をそれぞれ取得し、 Right関数で2桁にして「hh:mm:ss」形式にしています。

' 現在時刻
t = Time()

WScript.Echo t        ' 5:05:03

h = Right("0" & Hour(t), 2)
m = Right("0" & Minute(t), 2)
s = Right("0" & Second(t), 2)

' 「:」を加える
tFormat = h  & ":" & m & ":" & s

WScript.Echo tFormat  ' 05:05:03

FormatDateTime関数を使って hh:mm形式にする

秒(ss)の部分が不要であれば、FormatDateTime関数を使用すると シンプルに取得できます。

FormatDateTime関数の第2引数に「4」を指定すると、 「hh:mm」形式の値が返って来ます。

' 現在時刻
t = Time()

WScript.Echo t         ' 5:08:18

'第2引数に「4」を指定
tFormat = FormatDateTime(t, 4)

WScript.Echo tFormat   ' 05:08

「秒」の情報がいらないなら、 FormatDateTime関数の方が簡単です。

VBScript入門