按键精灵手机版教程第二十一课:时间命令

常用的时间命令有: Time, TickCount, DateTime.Format 

获取当前时间


 

命令名称 Time
命令功能 得到当前系统时间
命令参数
返回值 返回值为数值类型,表示当前系统从1970年1月1日至今所经过的秒数


需要注意的是, 这个命令并不是直接返回出当前系统所直观显示的时间, 而是系统从1970年1月1日至今所经过的秒数, 所以得出的值是不能直接用的, 需要使用DateTime插件来转换成所需要的时间格式
范例:

  1. Dim t = time()
  2. TracePrint “当前分钟数为: ” & DateTime.Minute(t)
  3. TracePrint “当前年份是: ” & DateTime.year(t)
  4. TracePrint “当前月份是: ” & DateTime.month(t)

复制代码

DateTime.Minute\DateTime.year\DateTime.month 这些命令是用来把从time()命令里返回的时间转换成指定的时间的命令, 相关的命令还有用来转换成小时\秒数\星期等等, 具体的命令这里就不过多的一一介绍了, 大家可以直接参考下按键的命令帮助文档, 里面有详细的范例

按照指定格式获取时间



这里再单独介绍一个自定义比较强的时间函数, 这个命令可以按照你要求的格式来返回一个时间给你

命令名称 DateTime.Format
命令功能 按照指定格式输出时间
命令参数 fmt:分别用%Y, %m, %d, %H, %M, %S代表年,月,日,时,分,秒
如果不填格式,默认格式为%Y-%m-%d %H:%M:%S
t:为可选参数,可以填写Time()得到的时间。如果不填,则取当前时间
返回值 返回根据指定的格式生成的时间


这个命令可以指定时间按照第一个参数设定的格式来生成你想要的时间, 范例:

  1. // 生成时间: 年-月-日
  2. Traceprint DateTime.Format(“%Y-%m-%d”)
  3. // 生成时间: 年/月/日
  4. Traceprint DateTime.Format(“%Y/%m/%d”)
  5. // 生成时间: 年/月/日 时:分:秒
  6. Traceprint DateTime.Format(“%Y/%m/%d %H:%M:%S”)
  7. // 生成时间: xxxx年xx月xx日
  8. TracePrint DateTime.Format(“%Y年%m月%d日”)

复制代码

这个命令就是把%Y %m之类的特殊符号当成是指定的年月等时间, 然后其他的就按照原来的字符不变进行返回

计算时间差的方法



上面介绍了如何获取系统时间, 那在具体的使用中还需要涉及到定时进行任务, 或者定时循环找图, 超时后退出这样的功能, 这种功能就需要通过TickCount 命令来配合使用了

命令名称 TickCount
命令功能 获取当前脚本运行时间,单位毫秒
命令参数
返回值 返回值为数值类型,脚本运行的时间


使用TickCount 命令来计算时间差

  1. Dim t = TickCount()
  2. For 100
  3. If CmpColorEx(“300|500|FFFFFF|123456-102030,305|505|FFFFFF”,0.9) = 1 Then
  4. End If
  5. Next
  6. TracePrint “使用多点找色100次, 消耗时间是: ” & TickCount()-t

复制代码

利用TickCount 可以精确毫秒的特性, 我们可以用来检测代码运行的时长
实现定时功能

  1. Dim t = TickCount()
  2. Do
  3. If TickCount() – t > 5000 Then
  4. TracePrint “循环时间超过5秒,退出循环”
  5. Exit Do
  6. Else
  7. TracePrint “循环中…”
  8. End If
  9. Loop

复制代码

根据上面的方法, 我们可以进一步应用到找色中, 来实现一个在指定时间内循环等色的操作

  1. Call 循环多点比色(“300|500|FFFFFF|123456-102030,305|505|FFFFFF”,5)
  2. Function 循环多点比色(mycolor, t)
  3. Dim t1 = TickCount()
  4. Do
  5. If CmpColorEx(mycolor, 0.9) = 1 Then
  6. TracePrint “找到特征啦”
  7. Exit Do
  8. End If
  9. If TickCount() – t1 > t*1000 Then
  10. TracePrint “等待5秒未找到, 退出循环”
  11. Exit Do
  12. End If
  13. Delay 200
  14. Loop
  15. End Function

复制代码

 

●本文来源互联网及网友投稿,如有侵权请及时联系本站进行删除。
●转载原创文章请保留地址及版权信息,否则侵权必究。
●分享目的仅供大家学习和交流,请不要用于商业用途。
●该资源版权归原著作者所有,请于下载后24小时内删除。
●如有链接无法下载、失效或广告,请联系右侧点击QQ咨询处理。
●本站资源售价只是赞助,收取费用仅维持本站的日常运营所需。
●如遇到加密压缩包,默认解压密码为"fdeer.com",如遇到无法解压的请联系管理员。

飞鹿日志 » 按键精灵手机版教程第二十一课:时间命令

发表回复