按键精灵手机助手计算时间差

news/2024/11/9 2:20:07/

这两天在用按键精灵手机助手写游戏脚本,需要计算时间差,先要获取两次时间,用系统自带的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下载


http://www.ppmy.cn/news/206356.html

相关文章

F12下看html页面的响应时间,浏览器F12 Finish DOMContentLoaded load时间如何计算出来?...

白屏 // 不兼容performance.timing 的浏览器&#xff0c;如IE8 window.pageStartTime Date.now(); // 白屏时间结束点 window.firstPaint Date.now(); 因此白屏时间则可以这样计算出&#xff1a; 可使用 Performance API 时 白屏时间 firstPaint - performance.timing.navig…

人生时间计算器_真实年龄计算器app下载-抖音珍稀时间年龄计算器下载v1.5 安卓版-西西软件下载...

抖音珍稀时间年龄计算器app能够快速的计算出你真是的实际年龄,精确到每分每秒.同时向你预估出你人生中剩余的时间,在剩余的时间里还能做那些事情,让人们思考生从何来死往何去,记住你的每一个关键的纪念日,十分的有趣!点击下载抖音珍稀时间年龄计算器app就能看到自己的时间啦!…

接口请求到服务器端响应的时间,接口响应时间剖析

在日常工作过程中,我们经常需要关注接口的响应时间,优化接口的时延,那么接口的响应时间由哪些部分组成呢?先给出一个公式: 接口响应时间 = 请求机器与服务器之间包往返时间 RTT * N + 业务处理处理时间 通过下面的一组实验数据,我们可以完整地解析出从请求接口,到接口返…

Android 计算网络速度文件下载剩余时间<<最优方案>>

最近在项目开发中遇到了一项功能&#xff0c;需要在下载文件时显示出当前的网络速度和预计剩余时间&#xff0c;在调研中发现使用的比较多的是通过TrafficStats来获取网络使用量然后在间隔每秒后重新获取一次网络使用量&#xff0c;两者相机算既可以得出每秒的网络使用量。 pub…

Oracle 计算时间差

Oracle中计算时间差是经常用到的。可以使用“日期1-日期2”并加以运算,来获得你要想的时间差:天、小时、分钟或者秒。 例如: selectTO_DATE(2012-02-20 17:45:04,yyyy-mm-dd hh24:mi:ss)-TO_DATE(2012-02-19 08:34:04,yyyy-mm-dd hh24:mi:ss) as Dayfrom dual; 结果: 这里…

如何用计算机算时间,在win10电脑的计算器中如何进行日期的计算

在win10电脑的计算器中如何进行日期的计算 今天给大家介绍一下在win10电脑的计算器中如何进行日期的计算的具体操作步骤。 1. 首先打开电脑,找到自带的计算器,打开进入。 2. 在打开的计算器页面,点击页面上方的三横图标: 3. 在打开的菜单中,点击“日期计算”: 4. 打开的日…

实时下载速度的计算:

所谓的实时下载速度也是按秒计算的&#xff0c;直接每秒计算一下当前下载量与上次记录的下载量便可得到从 上一秒到这一秒的下载数据量&#xff0c;这样实时下载速度就得出来了&#xff0c;至于剩余时间&#xff0c;可以将当前下载的数 据量与耗用的秒为单位的时间进行计算&…

对3800x初步超频总结

3800x超频&#xff1a; 原则散热无法保证全核心高频率高使用工作&#xff0c;在使用原装散热时最好不要超频 &#xff08;一旦超过4.2hz 继续往上加可能无法通过ad64fpu烤鸡测试&#xff09;-使用4.2以上全核烤鸡会在几分钟之后达到温度临界值&#xff0c;电脑自动蓝屏 //尽管游…