【问题标题】:Now() Accuracy in VBScriptVBScript 中的 Now() 精度
【发布时间】:2009-08-06 14:16:22
【问题描述】:

当调用 CDbl(Now()) 时,VBScript 中的 Now() 似乎以 10,000,000 秒精度返回时间。在尝试使用它来编写返回 CIM_DATETIME format 的更准确的 now 实现时,我发现在 VBScript 中,尽管特别精确,但并不是很准确,时间每秒只更新一次。这可以通过观察以下输出来证明:

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,Now() 将返回什么时间?是脚本解释器启动的时间,Now() 被调用的时间,还是别的什么?

【问题讨论】:

    标签: vbscript time precision


    【解决方案1】:

    看起来这将是调用“Now()”方法的时间,精确到秒。这仍然是一个正常的方法调用。

    【讨论】:

    • David:我特别想做到超过一秒的准确度。这显然是精确的,但我需要更好地了解 Now() 返回的数字是如何确定的。
    • 您看到的双精度数据类型的精度与“Now()”函数的精度不匹配。
    • 看看“定时器”功能。看起来它可以提供亚秒级分辨率。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-05
    • 2015-09-13
    相关资源
    最近更新 更多