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関数の方が簡単です。