事象
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時間ごとに実行するようなバッチを作成した場合に引っ掛かる可能性があるので、本記事を参考に回避して頂ければと思います。
日付・時間に関連する記事
日付や時間に関連する記事になります。
【VBScript】現在時刻の取得
VBScriptで現在時刻を取得する方法を解説しています。「Time()」関数を呼び出すことで、現在時刻を取得することが可能です。
【VBScript】現在日付の取得
VBScriptで現在日付(本日の日付)を取得する方法を解説しています。「Date()」関数を呼び出すことで、現在日時を取得することが可能です。
【VBScript】現在日時する[Now]関数の使い方
VBScriptで現在日時を取得する[Now]関数の使い方を解説しています。
リンク
コメント