html取网络时间
A. vb 获取网络时间
下列代码不用任何控件就能从国家授时中心网页获取时间获得网络时间。
Function NetTime(Optional url As String) As String '返回包括时间和日期的字符串
Dim obj, OBJStatus, Retrieval
Dim GetText As String
Dim i As Long
Dim myDate As Date
Set Retrieval = CreateObject("Microsoft.XMLHTTP")
If url = "" Then
url = "http://www.time.ac.cn/stime.asp" '从国家授时中心网页获取时间
End If
'通过下载网页头信息获取网络时间
On Error Goto ToExit
With Retrieval
.Open "Get", url, False, "", ""
.setRequestHeader "If-Modified-Since", "0"
.setRequestHeader "Cache-Control", "no-cache"
.setRequestHeader "Connection", "close"
.Send
If .Readystate <> 4 Then Exit Function
GetText = .getAllResponseHeaders()
i = InStr(1, GetText, "date:", vbTextCompare)
If i > 0 Then '网页下载成功
i = InStr(i, GetText, ",", vbTextCompare)
GetText = Trim(Mid(GetText, i + 1))
i = InStr(1, GetText, " GMT", vbTextCompare)
GetText = Left(GetText, i - 1)
myDate = GetText '字符串变为时间类型
myDate = myDate + #8:00:00 AM# '将时间转化为北京时间
NetTime = myDate '将时间转化为字符串
End If
End With
ToExit:
Set Retrieval = Nothing
Set OBJStatus = Nothing
Set obj = Nothing
End Function
利用上述NetTime函数,可以将本机时间同步到标准时间,误差一般不超过1秒,如果多次运行或加上网络延时校正代码可进一步减少误差。
运行代码后,可以用第三方软件或到国家授时中心网站查看本机时间与标准时间的误差以验证代码的效果,当然更可以用第三方软件来校正电脑时间,这样误差将不超过0.1秒。这是VB中用Time语句设定本机时间无法实现的,因为Time语句的“分辨率”只能达到整秒。
Sub UpDateTime()
Dim sTime as String
sTime=NetTime()
On Error Resume Next
If Stime<>"" Then
Time=sTime
Date=sTime
End If
End Sub
B. 易语言获取网络时间
需要一个客户组件 客户1.连接(“time-a.timefreq.bldrdoc.gov”,13)'他的返回时间是英国格林威治时间 反馈代码如下 .版本2 .子程序_客户1_数据到达.局部变量取回数据,文本型.局部变量时间,文本型,,"0".局部变量日期,文本型,,"3".局部变量sj1,日期时间型 取回数据=取字节集数据(客户1.取回数据(),#文本型,)时间=分割文本(取回数据,“”,)日期=分割文本(时间[2],“-”,)日期[1]=“20”+日期[1]sj1=增减时间(到时间(日期[1]+“/”+日期[2]+“/”+日期[3]+“/”+时间[3]),#小时,8)信息框(sj1,0,)客户1.断开连接()
C. 如何获取网络是时间
获取网络时间的方法如下
1、以XP系统为例,在电脑连接互联网的状态下,电脑桌面右下版角鼠标双权击时间,弹出”日我和时间属性“窗口,点击”Internet时间“,在它的界面点击”立即更新“