如何确定在使用Lua脚本的执行时间

如何确定在使用Lua脚本的执行时间,第1张

参考方法如下:
local str1 = "12:36:28"
local str2 = "14:38:45"
local h1,m1,s1 = stringmatch(str1,"(%d+):(%d+):(%d+)")
local h2,m2,s2 = stringmatch(str2,"(%d+):(%d+):(%d+)")
local time1 = h1 3600 + m1 60 + s1
local time2 = h2 3600 + m2 60 + s2
print(time2 - time1)
得出的是 相差多少秒 除3600就是多少小时

比如:
Do While true
小时 = Hour(Now)
分钟 = Minute(Now)
If 小时 = 9 and 分钟 = 30 Then
Exit Do
End If
delay 5000
loop
时间改成每个你要的就行,一开始就启动脚本,不到指定时间命令会不停循环,到了时间则会执行语句。

按键精灵定时启动脚本 *** 作如下:

1、打开键盘向导,单击新脚本,会d出一个空白的脚本屏幕。

2、 接下来,单击 control 命令按钮以创建表达式为 true 的循环命令。

3、 接下来,单击源文件,在表达式后面创建两个变量“ hour”和“ capacity minute” ,并在表达式后面使用实时语句。

4、判断语句,如果小时(你想设置什么时间) ,分钟(你想设置什么时间)。

5 加入循环陈述和结束判断陈述。 打开普通接口,将循环语句的结尾移动到结尾,计时脚本就完成了。

6、打开普通接口,将循环语句的结尾移动到结尾,计时脚本就完成了。

这还不简单 do 当前分钟=Minute(TIME) 当前小时 = Hour(TIME) 当前分钟=CInt(当前分钟) 当前小时 =CInt(当前小时) If 当前小时 = 8 and 当前分钟 > 0 Then //你要启动的脚本内容填进来 End If If 当前小时 = 8 and 当前分钟 >= 30 Then Exit Do End If loop 你再稍加修改下就行了,然后启动这个脚本 不关机 如果不到8点的话他是不会运行你的脚本的,到达时间自动运行你脚本的内容 超过8点30分 结束脚本。 其他小方面自己改,这个时间读取的是你的本地时间非网络时间,所以要保证你的本地时间跟现实时间误差不大

先来说一下,你想要的效果其实不是脚本每天8点自动运行,而是脚本一直是运行的,只是每天8点开始做有效的运行工作,其他时间点一直处于“待命状态”。

如果你认同我上面所说的内容,那么就继续往下看吧。

解决这个问题有两种方法:

第一种:先计算你脚本有效的运行时间,比如1个小时,那么剩下的“待命状态”的时间就是23个小时,换句话说就是你的脚本执行完一次以后,要等待23个小时,在按键精灵里等待时间的命令就是delay,不过要换算,因为它的单位毫秒,你要把23小时等于多少毫秒算出来,建议用计算器算一下。

这种方法有一个缺点,就是你必须要在8点执行首次 *** 作,它是24小时完成一个运行周期,并不会真的在8点执行,而是每天在某一个固定的时间执行,这个时间点取决于你首次运行的开始时间。

第二种方法:

原理是获取当前系统时间,然后判断获取的时间是不是8点,如果是8点就开始执行有效脚本,如果不是8点,那么重新获取系统时间,再次判断,这个过程重复进行,直到8点为止。

缺点是脚本比较累一直在做判断,优点是能够精准判断。

代码如下:

Do

Dim t

t = Now()

TracePrint t

Dim r

r = UTF8Right(t, 13)

TracePrint r

Dim l

l = UTF8Left(r, 5)

TracePrint l

If l = "08:00" Then

TracePrint "调试成功,用你的脚本替换本行"

Exit Do

Elseif l = "08:01" Then

TracePrint "调试成功,用你的脚本替换本行"

Exit Do

Else

TracePrint "调试失败"

End If

Delay 60000

Loop

稍微解释一下,

为了看着方便,变量我没有合并,

由于7个“星期”的英文所写长度不一样,所以导致日期的长度也是不一样的,那么在获取8点的方法上,我选择了从后往前找的办法。

在判断的时候为了防止脚本由于卡顿错过了8点而无法有效运行,所以追加了一个判断,就是在8点01分也是可以执行脚本。当然这是在8点没有开始脚本,如果开始了,就不会在继续判断8点01分了。

如果有啥问题可以追问,或者关注我的公众号:3分钟学堂。

这个代码我在自己电脑上做了测试,附上一个我运行的截图:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13330388.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-16
下一篇 2023-07-16

发表评论

登录后才能评论

评论列表(0条)

保存