1

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() が呼び出された時間ですか、それとも何か別の時間ですか?

4

1 に答える 1

0

「Now()」メソッドが秒単位で正確に呼び出された時になりそうです。これは通常のメソッド呼び出しです。

于 2009-08-06T14:33:25.733 に答える