这两天在用按键精灵手机助手写游戏脚本,需要计算时间差,先要获取两次时间,用系统自带的time()函数可以得到系统时间,不过得到的时间是秒数,需要转化一下

time()函数得到的是从1970年1月1日 8:00:00至今所经过的秒数

可以用DateTime.Format函数将Time()转为正常的时间格式

既然很容易就得到秒数,将两个时间相减就可以得到时间差了。

如果按键精灵手机助手每次获取电脑时间都很准确,我今天就不用写这篇文章了。我在运行游戏脚本时总是出错,检查之后才发现原因是获取的时间有问题

我电脑时间明明是16:17,怎么打印出来是9点

我把时间手动改为15:20点,显示还是9点

由于这个time()函数获取的时间不稳定,所以我决定用GetNetworkTime()函数,获取网络时间,然后计算时差。

获取时间容易,计算时间差难。因为按键精灵手机助手没有类似TimeDiff的函数,这一点希望按键精灵能改一下。于是我自己写代码计算时间差,代码可直接复制去使用。只要输入两个时间就行了,如果手动输入时间,必须为字符串,格式为"yyyy-mm-dd HH:MM:SS"

有闫年也可以正常计算出来

把秒换算成时分秒就简单了,这里就不写了

【总结】

1、可以有系统自带的time()函数获取系统时间,然后相减,得到时间差。这个方法时不时会出错

2、用下面我写的代码,可以手动输入时间,也可以获取网络时间,如果是手动输入时间,一定要注意格式

Dim t1,t2
//获取网络时间
//t1 = GetNetworkTime()
//自定义时间必须为字符串,格式为"yyyy-mm-dd HH:MM:SS"
t1 = "2024-02-28 00:00:00"//Delay 5000
//t2 = GetNetworkTime()//获取网络时间
t2 = "2024-03-01 00:00:00"
TracePrint "时间差为",ShiJianCha(t1,t2),"秒"Function ShiJianCha(time_1,time_2)Dim time_3, year_0, year_1, year_2, mon, mon1, mon2, mon3, day_1, day_2, day_3, yue1, yue2, ri1, ri2Dim hour_1, hour_2, hour_3, miniute_1, miniute_2, miniute_3, sec_1, sec_2, sec_3,  TotalDaysDim ddd = 0//提取时间1的年月日时分秒TracePrint "time_1 =",time_1year_1 = Left(time_1, 4)+0mon1 = Mid(time_1, 6, 2)+0day_1 = Mid(time_1,  9, 2)+0hour_1 = Mid(time_1, 12, 2)+0miniute_1 = Mid(time_1, 15, 2)+0sec_1 = Mid(time_1, 18, 2)+0//提取时间2的年月日时分秒TracePrint "time_2=",time_2year_2 = Left(time_2, 4)+0mon2 = Mid(time_2, 6, 2)+0day_2 = Mid(time_2, 9, 2)+0hour_2 = Mid(time_2, 12, 2)+0miniute_2 = Mid(time_2, 15, 2)+0sec_2 = Mid(time_2, 18, 2)+0//计算秒数差If sec_2 - sec_1 >= 0 Then sec_3 = sec_2 - sec_1Else sec_3 = sec_2 - sec_1 + 60miniute_2 = miniute_2 - 1If miniute_2 < 0 Then miniute_2 = 59hour_2=hour_2-1End If End If//计算分钟数差If miniute_2 - miniute_1 >= 0 Then miniute_3 = miniute_2 - miniute_1Else miniute_3 = miniute_2 - miniute_1 + 60hour_2 = hour_2 - 1If hour_2 < 0 Then hour_2 = 23day_2 = day_2 - 1       End If End If//计算小时数差If hour_2 - hour_1 >= 0 Then hour_3 = hour_2 - hour_1 Else hour_3 = hour_2 - hour_1 + 24day_2 = day_2 - 1If day_2 = 0 Then mon2 = mon2 - 1TotalDays = TotalDays - 1     If mon2 <>0  Then                 day_2 = MeiYueTianShu(mon2,year_2)Else mon2 = 12day_2 = 31year_2 = year_2 - 1End IfEnd If End If//计算天数差For year_0 = year_1 To year_2   If year_0 = year_1 Then yue1 = mon1If year_1 = year_2 Then yue2 = mon2              Else yue2 = 12             End If          ElseIf year_0 = year_2         If year_1 = year_2 Then yue1 = mon1               Else yue1 = 1              End Ifyue2 = mon2  Else yue1 = 1yue2 = 12End IfFor mon = yue1 To yue2If year_0 = year_1 and mon = mon1 Then ri1 = day_1If mon1 = mon2 Then ri2 = day_2 Else ri2 =MeiYueTianShu(mon,year_0)    End If                  ElseIf year_0  = year_2 And mon = mon2 ThenIf mon1 = mon2 Then ri1 =day_1Else   ri1 = 1End Ifri2 = day_2                  Else ri1 = 1ri2 = MeiYueTianShu(mon,year_0)       End IfFor ri = ri1 To ri2ddd = ddd + 1           Next    Next    NextTotalDays = ddd - 1ShiJianCha = ((TotalDays* 24 + hour_3) * 60 + miniute_3) * 60 + sec_3
End FunctionFunction MeiYueTianShu(mon,year_0)If mon = 4 or mon = 6 or mon = 9 or mon = 11 Then MeiYueTianShu = 30ElseIf mon = 2 ThenIf RunNian(year_0) Then MeiYueTianShu = 29Else MeiYueTianShu = 28                  End IfElse MeiYueTianShu = 31              End If
End FunctionFunction RunNian(yyyy)If yyyy Mod 400 = 0 Then RunNian = True     Else If yyyy Mod 4 = 0 And yyyy / 100 <> Int(yyyy / 100) Then RunNian = True    Else RunNian = False   End IfEnd If
End Function

把附件放在按键精灵手机助手里面的Plugin文件夹里,在使用之前导入一下,格式如下:
Dim t1,t2
Import "SC.lua"
t1 = GetNetworkTime()        //获取网络时间
//自定义时间必须为字符串,格式为"yyyy-mm-dd HH:MM:SS"
t2 = "2024-03-01 02:18:20"
TracePrint SC.ShiJianCha(t1,t2)

附件下载地址:按键精灵手机助手计算时间差-VB文档类资源-CSDN下载

按键精灵手机助手计算时间差相关推荐

  1. PC按键精灵读取txt文本出现乱码怎么办?按键精灵手机助手读取txt文本中文变问号怎么办?

    今天有人跟我说,他的PC按键精灵读取txt文本出现乱码,问我怎么办. 之前也有人问我按键精灵手机助手读取txt文本,中文变成问号怎么办? 在这里我统一回复一下. 这是由于文本文件编码格式造成的.PC按 ...

  2. 按键精灵手机助手连接安卓模拟器

    按键精灵手机助手是一款脚本编写软件,能够帮助用户在电脑端编写应用于手机端的脚本程序,用户可以使用它在电脑上编写任意功能的脚本,比起在手机端编辑更加方便,编辑后可以在电脑端进行测试,只需要连接上手机就可 ...

  3. 按键精灵手机助手插件 命令库同步

    最近在使用按键,用了一些非官方的插件,所以需要手工同步到终端上面,发现按键自带的批处理无法正常实现同步了,所以重新做了一个 主要是adb push .mql 应该是不支持通配符 @-\android\ ...

  4. 安卓按键精灵手机助手(功能:安卓版抓抓、命令库、制作电脑UI界面)

     软件名:按键辅助  Ver:3.0.0

  5. 怎么写安卓手机脚本_史上最牛掰按键精灵手机版教材

    这篇教程给大家介绍一下按键精灵手机助手的相关操作和用途.,下图就是按键精灵手机助手的编辑界面. 下面我们讲解一下什么是按键精灵手机助手,以及按键精灵手机助手的用途,相信大部分使用按键精灵的朋友都是从按 ...

  6. 视频教程-按键精灵手机版解放您的双手自动化教程-Android

    按键精灵手机版解放您的双手自动化教程 从事游戏开发已经13年以上,软件开发管理10年以上. 段安 ¥29.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 APP订阅课程 ...

  7. 按键精灵手机版(安卓 ios) 如何连接远程网络数据库 比如 sql server, 进行读写操作 云端自动化等

    一.前情提要 按键手机版直连的话 现在只支持本地数据库sqllite,想连接远程数据库也不是没办法,但麻烦一点 需要建立一个 "中转站" .姑且这么称呼,最形象. "中转 ...

  8. 按键精灵手机版基础入门视频教程

    按键精灵教程已加入B站,B站搜索框搜索"按键精灵手机版基础入门视频教程"即可,赶快来学习吧!

  9. IOS版aplayer使用教程_[按键精灵手机版教程]安卓3.0按键使用教程

    金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚 ...

  10. 天天爱消除辅助-按键精灵手机安卓版-天天爱消除辅助Android源码-按键精灵脚本

    无意中看到按键精灵出Android版了,想了解一下,所以加入了内测, 由于脚本语法和VB差不多,所以上手很快,写了个天天爱消除的脚本来练习一下, 很早就知道按键精灵了,但一直没写过其脚本,这个算是我的 ...

最新文章

  1. vsftpd学习笔记
  2. ASP.NET AJAX Client Library: 更繁?更简?
  3. python创建文件os_Python之文件与目录操作(os、zipfile、tarfile、shutil)
  4. MDT2010新功能(15)——完成部署后操作
  5. lvdt 运放全波整流接线方式_20种电工最常见照明灯接线电路图另附开关、插座安装技术交底...
  6. linux命令--VI命令详解(一)
  7. python中i+=1不等于++i
  8. 9203 0427 随堂小结
  9. MYSQL 时间处理
  10. Mysql中的一绡规范约束,摘自《阿里巴巴 Java 开发手册》
  11. WTL-编译出错01--CVTRES : fatal error CVT1100: 资源重复。类型: MANIFEST,名称: 1,语言: 0x0409
  12. python符号格式化设置区间_[Python3 填坑] 001 格式化符号 格式化操作符的辅助指令...
  13. html5中的web storage的用法
  14. Java集合不能存放基本数据类型,只存放对象的引用
  15. 解决谷歌浏览器书签同步问题
  16. FPGA学习记录(7)<巴特沃斯低通IIR滤波器FPGA实现>
  17. 在学校免费上网。在别处找的
  18. 速览 关于网络安全专业学生的未来职业规划
  19. bcdedit用法详解
  20. H7-TOOL的APP固件升级至V2.05,上位机升级至V2.05,支持CAN助手,新增华芯微特SWM和杰发科技AC78X脱机烧录(2021-05-16)

热门文章

  1. 华为交换机之间静态路由配置实例
  2. 支付宝H5支付,ISV权限不足
  3. 仿新浪微盾客户端项目简介一
  4. 红帽linux镜像下载教程,最新版:如何到Redhat官网下载RedHat镜像及申请试用安装序号...
  5. QCon上海2015精彩回顾和总结
  6. 清华学霸尹成Python爬虫视频 [MP4] (33.96G)
  7. 国家标准《信息安全技术 关键信息基础设施网络安全保护基本要求》试点启动
  8. 基于人机环境系统工程的智慧企业建设思考(2)
  9. dss中文含义_DSS(中文译名:决策支持系统),这是什么系统?有多少个种类?...
  10. 思科交换机接口配置trunk_思科交换机配置TRUNK的主要步骤