【VBScript】Now関数使用時、0時に日付のみになる事象の対策


この記事はプロモーションを含みます。

VBScript

ホーム > VBScript 逆引きリファレンス

事象

0時ぴったりに「Now()」関数で現在日時を取得した際、日付のみ表示され、時間が取得されない事象があったため、対策を記載しておきます。

Now関数の実行時、本来は現在日時が「YYYY/MM/DD hh:mm:ss」形式で表示されますが、0時の場合は、日付のみ「YYYY/MM/DD」が表示されます。

対処方法

下記が対策になります。考え方はシンプルで、Now関数で取得した値に[:](コロン)が含まれていない場合(=時間情報が無い)、Date関数で現在日付を取得し、そこに「 00:00:00」を連結しています。

' 現在日時の取得
dateTime = Now()

' 時間[:]が含まれていない場合に処理を行う
If(Instr(dateTime,":")=0)Then
	dateTime = Date() & " 00:00:00"
End If

MsgBox(dateTime)

手動で実行する場合は引っ掛かることは少ないと思いますが、タスクスケジューラなどに1時間ごとに実行するようなバッチを作成した場合に引っ掛かる可能性があるので、本記事を参考に回避して頂ければと思います。

日付・時間に関連する記事

日付や時間に関連する記事になります。

コメント

タイトルとURLをコピーしました