プログラマーを職業としてます。 Flex,Air,C#,Oracle,PHPの言語ノウハウを中心に情報発信していきます


[VBScript] 現在時刻が指定した時間内かどうかを判断する

現在時刻が想定時刻の間かどうかを判定するVBScriptを考えてました。
時間内の時だけ処理をさせたい場合の例です。


‘現在時刻が指定した時刻範囲内に収まっているかを確認する
Option Explicit

Dim fromTime, toTime
Dim currTime

‘現在時刻
currTime = Time

‘時刻条件From
fromTime = TimeValue(“09:00”) ‘秒まで指定する場合は09:00:00
‘時刻条件To
toTime = TimeValue(“09:30”)

If fromTime <= currTime And currTime <= toTime Then '時間内の場合はOK ココに実行したい処理を書く WScript.Echo "OK" Else '時間外の場合はNG WScript.Echo "NG" End If [/vb] これは、時刻を文字列の形式で指定しています。 また、コマンドの引数として指定したい場合は、HH:MMの形式だとコロンが問題になるので、時刻の指定方法を変更します。 [vb] Dim objParam Set objParam = WScript.Arguments Dim fromTime, toTime, currTime Dim arg1, arg2 If (objParam.Count >= 2) Then
arg1 = objParam(0)
arg2 = objParam(1)
if (Len(arg1) = 6 And Len(arg2) = 6) And IsNumeric(arg1) And IsNumeric(arg2) Then
currTime = Time
fromTime = TimeSerial(Mid(arg1, 1, 2), Mid(arg1, 3, 2), Mid(arg1, 5, 2))
toTime = TimeSerial(Mid(arg2, 1, 2), Mid(arg2, 3, 2), Mid(arg2, 5, 2))
Else
WScript.Echo “引数指定が間違っています。時刻は HHMMSS の数値で指定して下さい。”
WScript.Quit
End If

If fromTime <= currTime And currTime <= toTime Then '時間内なので以降の処理を実行する Else '時間外なので処理は中断する。 WScript.Quit End If End If ... ココから実行したい処理 [/vb] このように、引数はHHMMSSの形式で指定をさせます。 この例では、スクリプトの第1引数に条件開始時刻(HHMMSS)、第2引数に条件終了時刻(HHMMSS)を指定させます。 条件を満たした時のみ、このロジック以降の処理が実行される形です。 時刻の書式をもう少し厳密に見たほうがいいかもしれません。この例では6桁の数値なら何でもOKになっています。

 

== ランキングに参加しています。ぜひクリックお願いします ==

プログラム ブログランキングへ
にほんブログ村 IT技術ブログへ
にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です