以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  通过互联网获取标准北京时间的方法  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=39601)

--  作者:狐狸爸爸
--  发布时间:2013/8/28 9:03:00
--  通过互联网获取标准北京时间的方法

Dim TimeServers As String(,) = New String(2, 1) {}
TimeServers(0, 0) = "time-b.timefreq.bldrdoc.gov"
TimeServers(0, 1) = "132.163.4.102"
TimeServers(1, 0) = "time-c.timefreq.bldrdoc.gov"
TimeServers(1, 1) = "132.163.4.103"
TimeServers(2, 0) = "utcnist.colorado.edu"
TimeServers(2, 1) = "128.138.140.44"

Dim portNum As Integer = 13
Dim hostName As String
Dim bytes As Byte() = New Byte(1023) {}
Dim bytesRead As Integer = 0
Dim client As New System.Net.Sockets.TcpClient()
For i As Integer = 0 To 2
    hostName = TimeServers(i, 1)
    Try
        client.Connect(hostName, portNum)
        Dim ns As System.Net.Sockets.NetworkStream = client.GetStream()
        bytesRead = ns.Read(bytes, 0, bytes.Length)
        client.Close()

        Exit for
    Catch generatedExceptionName As System.Exception
    End Try
Next
Dim sp As Char() = New Char(0) {}
sp(0) = " "c
Dim dt As System.DateTime = New DateTime()
Dim str1 As String
str1 = System.Text.Encoding.ASCII.GetString(bytes, 0, bytesRead)

Dim s As String()
s = str1.Split(sp)
dt = System.DateTime.Parse(s(1) & " " & s(2))
\'得到标准时间
dt = dt.AddHours(8)
\'得到北京时间
Messagebox.show( dt)

[此贴子已经被作者于2013-8-28 9:38:54编辑过]

--  作者:lsy
--  发布时间:2013/8/28 9:28:00
--  

这比服务器时间靠谱。

服务器时间错误,也是常见难免的。


--  作者:hanxuntx
--  发布时间:2013/8/28 10:29:00
--  
应该写入帮助。顶
--  作者:qq121454970
--  发布时间:2013/8/28 12:11:00
--  
顶顶
--  作者:qq121454970
--  发布时间:2013/8/28 12:17:00
--  
代码很高效,一直可以保持在0.4秒左右图片点击可在新窗口打开查看
--  作者:yan2006l
--  发布时间:2013/8/28 15:02:00
--  

永久有效?


--  作者:yankunhao
--  发布时间:2013/8/28 15:14:00
--  

能否对这代码做一些说明或解说,有些代码看不明白啊!


--  作者:程兴刚
--  发布时间:2013/8/28 16:10:00
--  

顶!


--  作者:程兴刚
--  发布时间:2013/8/28 16:11:00
--  
以下是引用lsy在2013-8-28 9:28:00的发言:

这比服务器时间靠谱。

服务器时间错误,也是常见难免的。

 

除非自建的服务器,服务商的服务器时间也是通过网络通不过来的,不是说改就可以改的!


--  作者:lsy
--  发布时间:2013/8/28 17:01:00
--  

就是自建的哟,有次差了好几十分钟。

吓一跳。