|
马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 剑仙十号 于 2021-7-4 19:01 编辑
//封包类。用get获取网络时间
//代码环境:tc7.0
var hThread
功能 执行()
var 北京时间 = get网络时间()
messagebox(北京时间, "北京时间:")
结束
功能 get网络时间()
var ret = "", arr, datetxt
var http = com("Microsoft.XMLHTTP")
for(var i = 0; i < 5; i++)
var url
select(i)//获取北京时间接口.多网站获取时间,防止某个网站失效.
case 0
url = "http://time.tianqi.com/"
case 1
url = "http://cgi.im.qq.com/"
case 2
url = "http://api.m.taobao.com/"
case 3
url = "http://quan.suning.com/getSysTime.do"
case 4
url = "http://www.ntsc.ac.cn/"//中国科学院国家授时中心
end
http.open("get", url, false)
http.send("")
datetxt = http.getResp**eHeader("Date")
//traceprint(datetxt)
if(datetxt != "")
var n = 字符串分割(datetxt, " ", arr)
select(arr[2]) //月份信息 英转中.
case "Jan"
arr[2] = "01"
case "Feb"
arr[2] = "02"
case "Mar"
arr[2] = "03"
case "Apr"
arr[2] = "04"
case "Mar"
arr[2] = "05"
case "Jun"
arr[2] = "06"
case "Jul"
arr[2] = "07"
case "Aug"
arr[2] = "08"
case "Sep"
arr[2] = "09"
case "Oct"
arr[2] = "10"
case "Nov"
arr[2] = "11"
case "Dec"
arr[2] = "12"
end
var UTC世界时 = arr[3] & "/" & arr[2] & "/" & arr[1] & " " & arr[4]
//格林尼治时间,就是0度经线的地方平时,也叫格林平时.
//格林平时英文是Greenwich Mean Time,简称GMT,
//实际上GMT就是UTC(universal time),也叫世界时的。
//获取的 协调世界时(UTC时间) sTime
//sTime = Convert.ToDateTime(localtime)
//.
//转换为当前计算机所处时区的时间,即东八区时间
//由于地球仪自东向西转动,所以北京时间 比格林尼治时间(世界时)早8小时.
//即北京时间=世界时+8小时。
//nTime = TimeZone.CurrentTimeZone.ToLocalTime(sTime)
//调用系统com组件,把UTC世界时 转换为本地时间.
var SWDT = com("WbemScripting.SWbemDateTime")
SWDT.SetVarDate(UTC世界时, false)
var localTime = SWDT.GetVarDate(true)
traceprint(localTime)
ret = localTime //本地时间.
//
if(ret != "")//本地时间不为空,则跳出for循环。
break
end
end
sleep(100)
end //for_end
return ret
结束
原创作品。转载请标明作者,标明出处。
|
|