VBScript の Now() は、CDbl(Now()) として呼び出されると、10,000,000 秒の精度で時間を返すように見えます。これを使用してCIM_DATETIME 形式を返す now のより正確な実装を記述しようとしたところ、VBScript では特に正確であるにもかかわらず、1 秒に 1 回しか時刻が更新されずあまり正確ではないことがわかりました。これは、次の出力を見ることで実証できます。
i = 0
While i < 50
gnow = Cdbl(now)
result = (gnow - Int(gnow))
WScript.Echo CDate(gnow)
WScript.Echo "Iteration " & i & ": " & result
WScript.Sleep(100)
i = i + 1
Wend
私が今答えようとしている質問は、Now() を呼び出す VBScript の実行時間が 1 秒未満の場合、Now() によって返される時刻は? ということです。スクリプト インタープリタが開始された時間ですか、Now() が呼び出された時間ですか、それとも何か別の時間ですか?