怠日記

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

VBScript - 整数の時/分/秒を日付型に変換する | TimeSerial関数

整数で指定された時/分/秒を日付型に変換するには TimeSerial 関数を使う。

TimeSerial( Hour, Minute, Second )
  • Hour : 時(整数)
  • Minute : 分(整数)
  • Second : 秒(整数)

戻り値は内部処理形式が Date 型のバリアント。

WScript.Echo TimeSerial(0, 0, 0)
' → 0:00:00

WScript.Echo TimeSerial(23, 59, 59)
' → 23:59:59

 

時刻の範囲外の数値を指定した場合、自動で繰り上げられる。
たとえば、75秒を指定した場合は1分15秒になる。

'75秒は1分15秒になる
WScript.Echo TimeSerial(0, 0, 75)
' → 0:01:15

'75分は1時間15分になる
WScript.Echo TimeSerial(0, 75, 0)
' → 1:15:00

'40時間は1日と16時間になる
WScript.Echo TimeSerial(40, 0, 0)
' → 1899/12/31 16:00:00

 

引数のいずれか1つでも -32768 ~ 32767 の範囲外だった場合はエラーとなる。

WScript.Echo TimeSerial(32767, 0, 0)
' → 1903/09/26 7:00:00

WScript.Echo TimeSerial(32768, 0, 0)
' → Microsoft VBScript 実行時エラー: オーバーフローしました。: '[number: 32768]'

WScript.Echo TimeSerial(-32768, 0, 0)
' → 1896/04/04 8:00:00

WScript.Echo TimeSerial(-32769, 0, 0)
' → Microsoft VBScript 実行時エラー: オーバーフローしました。: '[number: -32769]'