82809085 发表于 2013-12-12 01:32:23

关于储存TimerInit变量的问题

Local $baoliou = 0, $idas = 0
;开始启动时间
$idas = TimerInit()
Sleep(1000);这里延迟一秒
;储存了一个开始启动时间 =$baoliou
$baoliou = $idas;储存后应该当前时间是1秒多一些
Sleep(2000)
$otime1 = TimerDiff($idas)
$otime2 = $baoliou
MsgBox(64, '测试', '这个是正确的3秒左右' & $otime1 & '   这个为什么无效应该这个是1秒左右' & $otime2)

user3000 发表于 2013-12-12 07:36:04

倒了,竟然如此比较。

skyfree 发表于 2013-12-12 10:15:08

按你的设计,$idas只是起始点,不会因时间推移而变化,不会在你延迟几秒后其值产生变化。

tubaba 发表于 2013-12-23 19:33:17

TimerInit() 返回的是一个特殊的句柄,而不是时间
Local $baoliou = 0, $idas = 0
;开始启动时间
$idas = TimerInit()
Sleep(1000);这里延迟一秒
;储存了一个开始启动时间 =$baoliou
$baoliou = TimerDiff($idas);储存后应该当前时间是1秒多一些
Sleep(2000)
$otime1 = TimerDiff($idas)
$otime2 = $baoliou
MsgBox(64, '测试', '这个是正确的3秒左右' & $otime1 & '   这个为什么无效应该这个是1秒左右' & $otime2)

afan 发表于 2013-12-23 19:48:34

TimerInit() 返回的是一个特殊的句柄,而不是时间
Local $baoliou = 0, $idas = 0
;开始启动时间
$idas = ...
tubaba 发表于 2013-12-23 19:33 http://www.autoitx.com/images/common/back.gif


    TimerInit() 返回的肯定不是句柄,而是基于系统启动相关的时间值

tubaba 发表于 2013-12-23 22:05:22

Return Value
Returns a handle that can be passed to TimerDiff() to calculate the difference in milliseconds.

Remarks
The return value from TimerInit() should be treated as an opaque handle and should only be used to pass to TimerDiff(). Any other usage of the return value is a potential error.

我只是照字面意思理解,感觉应该是Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)
是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
UNIX时间戳的0按照ISO 8601规范为 :1970-01-01T00:00:00Z.
页: [1]
查看完整版本: 关于储存TimerInit变量的问题