如何使用os.time()了解脚本中的当前时间?

如何使用os.time()了解脚本中的当前时间?,time,lua,Time,Lua,基本上,我如何使用os.time()和os.difftime()或可能的os.clock()来找出它在脚本的某个部分运行的当前时间 因此,在10分钟时,我尝试运行一个命令,在20分钟时,我尝试以10分钟的间隔运行另一个命令,一直运行到40分钟,然后我尝试重置为0并重新启动 有什么想法吗?你有什么问题?这在Lua参考手册中都有描述。 os.time([table]),如果在没有参数的情况下调用,则返回当前时间 os.difftime(t2,t1)返回以秒为单位的时差t2-t1 因此,只需存储开始

基本上,我如何使用
os.time()
os.difftime()
或可能的
os.clock()
来找出它在脚本的某个部分运行的当前时间

因此,在10分钟时,我尝试运行一个命令,在20分钟时,我尝试以10分钟的间隔运行另一个命令,一直运行到40分钟,然后我尝试重置为0并重新启动


有什么想法吗?

你有什么问题?这在Lua参考手册中都有描述。

os.time([table])
,如果在没有参数的情况下调用,则返回当前时间

os.difftime(t2,t1)
返回以秒为单位的时差t2-t1

因此,只需存储开始时间,然后经常检查时差是否大于等于600。然后重置开始时间并再次执行相同操作

您还可以使用os.clock()

在任何情况下,您都必须不时停止正在执行的操作,并检查是否到了运行功能的时候。因此,您必须将顺序代码拆分为可中断位。如果你在这10分钟之间没有做任何事情,你可以简单地在一个简单的循环中检查时间


有很多Lua库(例如wxLua)提供了方便的计时器和计时器事件函数。如果您不想自己实现它。

您可以让脚本存储初始时间,稍后使用该值查找脚本启动后的时间,例如:

start_time = os.time()

function sleep(n)  -- seconds
  local t0 = os.clock()
  while os.clock() - t0 <= n do end
end

-- Write script logic here...
-- ...
sleep(5)
-- ...
-- You can later find how much time passed since beginning of execution by calling os.time() again
print(os.time()-start_time.." seconds since start of script execution...")
start\u time=os.time()
函数睡眠(n)--秒
本地t0=操作系统时钟()

而os.clock()-t0
os.time()
返回从某个固定日期经过的秒数。现在还不清楚您在问什么。