|
本帖最后由 andya123 于 2020-2-20 15:53 编辑
;AU3 时间校准 v2.1
;疫情在家关着,无聊,又开始搞搞脚本代码了,自己写的。
;AU3的脚本,附件有打包好的 exe 应用,可以直接运行,下面也公开原写的代码
;---------------------------------------------------------------#NoTrayIcon
#Region ;时间校准 v2.1-兆祥天下2020
;1.先下载个网页,内有时间,判断是否完成下载。
;2.分析网页文件里的内容,取到里面的时间, 用查找" GMT<"来定位时间的位置,处理出来得到时间
;3.拆分时间变量,方面后面写入
;4.整理变量,隐藏运行,校准时间
;5.完成,6.签名.
#EndRegion ;
;1
#Region ;下载网页文件,内有时间 v2.1
$tianqi = InetGet("http://time.tianqi.com/", @TempDir & "\times1.txt",1,0) ;下载网页文件,重新等待网上下载新文件
If $tianqi <= 0 Then ;没有成功下载文件,成功反馈大小数量 $tianqi = 12752 个字符
MsgBox(4096, "提示", "网络有问题" & @CRLF & "3秒后关窗",3)
exit
EndIf
#EndRegion ;
;2
#Region ;分析网页,提取时间 v2.0
$timesTXT1 = FileRead( @TempDir & "\times1.txt") ;10478个字符
$GMT_0 = " GMT<" ;要寻找所在位置
$GMT_1 = StringLen($GMT_0) ;寻找自身体的大小 ;5个字符
$GMT_2 = StringInStr($timesTXT1,$GMT_0) ;GMT所在位置,在3529的位置
$GMT_3 = StringLen("18 Feb 2020 14:55:25") ;时间格式的数量 ;20个字符
$GMT_4 = $GMT_2 - $GMT_3 ;3529-20=3509位置,开始是时间"18 Feb 2020 14:55:25"
$timesTXT2 = StringMid($timesTXT1, $GMT_4, $GMT_3) ;3509位置取后面20个字符 = 18 Feb 2020 02:50:30
FileDelete ( @TempDir & "\times1.txt") ;清理下载临时文件
;FileDelete ( "现在网络时间.txt" )
;FileWrite("现在网络时间.txt",$timesTXT2) ;写入新文本
;MsgBox(0, "现在网络时间", $timesTXT2) ;18 Feb 2020 02:50:30
#EndRegion ;
;3
#Region ;拆分时间变量 v1.0
$times=StringSplit ($timesTXT2," ") ;字符串分离
;$times[1],$times[2],$times[3],$times[4]
;日 , 月 , 年 , 时
If $times[2]= "Jan" Then $times[2] = "01" ;一 月:January 简写:Jan.
If $times[2]= "Feb" Then $times[2] = "02" ;二 月:February 简写:Feb.
If $times[2]= "Mar" Then $times[2] = "03" ;三 月:March 简写:Mar.
If $times[2]= "Apr" Then $times[2] = "04" ;四 月:April 简写:Apr.
If $times[2]= "May" Then $times[2] = "05" ;五 月:May 简写:May.
If $times[2]= "Jun" Then $times[2] = "06" ;六 月:June 简写:Jun.
If $times[2]= "Jul" Then $times[2] = "07" ;七 月:July 简写:Jul.
If $times[2]= "Aug" Then $times[2] = "08" ;八 月:August 简写:Aug.
If $times[2]= "Sep" Then $times[2] = "09" ;九 月:September 简写:Sep.
If $times[2]= "Oct" Then $times[2] = "10" ;十 月:October 简写:Oct.
If $times[2]= "Nov" Then $times[2] = "11" ;十一月:November 简写:Nov.
If $times[2]= "Dec" Then $times[2] = "12" ;十二月:December 简写:Dec.
$times_s=StringSplit ($times[4],":") ;字符串分离
;$times_s[1],$times_s[2],$times_s[3]
;时 , 分 , 秒
#EndRegion ;
;4
#Region ;运行 校准时间 v2.1
$y_m_m = $times[3] & "-" & $times[2] & "-" & $times[1] ;年-月-日 , 2020-02-28
$h_m_s = $times_s[1] & ":" & $times_s[2] & ":" & $times_s[3] ;时:分:秒 , 23:58:59
$date_ymm = "@date " & $y_m_m ;@date 2020-02-28
$time_hms = "@time " & $h_m_s ;@time 23:58:59
RunWait(@ComSpec & " /c " & $date_ymm,"",@SW_HIDE) ;运行 修改 年-月-日
RunWait(@ComSpec & " /c " & $time_hms,"",@SW_HIDE) ;运行 修改 时:分:秒
#EndRegion ;
;5
MsgBox(0, "完成校准v2.1","当前网络时间:" & @CRLF & $y_m_m & @CRLF & $h_m_s,3)
;6-----签名------
;兆祥天下
;2020.02.20 15:36
;----------------
补充内容 (2020-3-1 11:33):
#NoTrayIcon
#Region ;时间校准 v2.2-兆祥天下2020
;1.先下载个网页,内有时间,判断是否完成下载。
;2.分析网页文件里的内容,取到里面的时间, 用查找" GMT<"来定位时间的位置,处理出来得到时间
;3.拆分时间变量,方面后面写入
;4.整理变量,隐藏运行,校准时间
;5.完成,6.签名.
#EndRegion ;
;1
#Region ;下载网页文件,内有时间 v2.1
$tianqi = InetGet("http://time.tianqi.com/", @TempDir & "\times1.txt",1,0) ;下载网页文件,重新等待网上下载新文件
If $tianqi <= 0 Then ;没有成功下载文件,成功反馈大小数量 $tianqi = 12752 个字符
MsgBox(4096, "提示", "网络有问题" & @CRLF & "3秒后关窗",3)
exit
EndIf
#EndRegion ;
;2
#Region ;分析网页,提取时间 v2.2
$timesTXT1 = FileRead( @TempDir & "\times1.txt") ;10478个字符
$GMT_0 = " GMT<" ;要寻找所在位置
$GMT_1 = StringLen($GMT_0) ;寻找自身体的大小 ;5个字符
$GMT_2 = StringInStr($timesTXT1,$GMT_0) ;GMT所在位置,在3529的位置
$GMT_3 = StringLen("18 Feb 2020 14:55:25") ;时间格式的数量 ;20个字符
$GMT_4 = $GMT_2 - $GMT_3 ;3529-20=3509位置,开始是时间"18 Feb 2020 14:55:25"
$timesTXT2 = StringMid($timesTXT1, $GMT_4, $GMT_3) ;3509位置取后面20个字符 = 18 Feb 2020 02:50:30
If StringMid ( $timesTXT2,1,1 ) = " " Then ;取到第一字符是空格," 1 Mar 2020 11:09:36"
$timesTXT2 = StringStripWS($timesTXT2, 1) ;删除前面的空格
$timesTXT2 = "0" & $timesTXT2 ;在前面补加个 "零"
EndIf
FileDelete ( @TempDir & "\times1.txt") ;清理下载临时文件
;FileDelete ( "现在网络时间.txt" )
;FileWrite("现在网络时间.txt",$timesTXT2) ;写入新文本
;MsgBox(0, "现在网络时间", $timesTXT2) ;18 Feb 2020 02:50:30
#EndRegion ;
;3
#Region ;拆分时间变量 v1.0
$times=StringSplit ($timesTXT2," ") ;字符串分离
;$times[1],$times[2],$times[3],$times[4]
;日 , 月 , 年 , 时
If $times[2]= "Jan" Then $times[2] = "01" ;一 月:January 简写:Jan.
If $times[2]= "Feb" Then $times[2] = "02" ;二 月:February 简写:Feb.
If $times[2]= "Mar" Then $times[2] = "03" ;三 月:March 简写:Mar.
If $times[2]= "Apr" Then $times[2] = "04" ;四 月:April 简写:Apr.
If $times[2]= "May" Then $times[2] = "05" ;五 月:May 简写:May.
If $times[2]= "Jun" Then $times[2] = "06" ;六 月:June 简写:Jun.
If $times[2]= "Jul" Then $times[2] = "07" ;七 月:July 简写:Jul.
If $times[2]= "Aug" Then $times[2] = "08" ;八 月:August 简写:Aug.
If $times[2]= "Sep" Then $times[2] = "09" ;九 月:September 简写:Sep.
If $times[2]= "Oct" Then $times[2] = "10" ;十 月:October 简写:Oct.
If $times[2]= "Nov" Then $times[2] = "11" ;十一月:November 简写:Nov.
If $times[2]= "Dec" Then $times[2] = "12" ;十二月:December 简写:Dec.
$times_s=StringSplit ($times[4],":") ;字符串分离
;$times_s[1],$times_s[2],$times_s[3]
;时 , 分 , 秒
#EndRegion ;
;4
#Region ;运行 校准时间 v2.1
$y_m_m = $times[3] & "-" & $times[2] & "-" & $times[1] ;年-月-日 , 2020-02-28
$h_m_s = $times_s[1] & ":" & $times_s[2] & ":" & $times_s[3] ;时:分:秒 , 23:58:59
$date_ymm = "@date " & $y_m_m ;@date 2020-02-28
$time_hms = "@time " & $h_m_s ;@time 23:58:59
RunWait(@ComSpec & " /c " & $date_ymm,"",@SW_HIDE) ;运行 修改 年-月-日
RunWait(@ComSpec & " /c " & $time_hms,"",@SW_HIDE) ;运行 修改 时:分:秒
#EndRegion ;
;5
MsgBox(0, "完成校准v2.2","当前网络时间:" & @CRLF & $y_m_m & @CRLF & $h_m_s,3)
;6-----签名------
;兆祥天下
;2020.03.01 11:16
;---------------- |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|