vb.nettime,vbnettimer 最大间隔

Vb.net 2008 如何获取网络时间

你是指Internet上的国际标准时间吗。

成都创新互联公司从2013年创立,先为埇桥区等服务建站,埇桥区等地企业,进行企业商务咨询服务。为埇桥区企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

先加入控件 AxWinsock1 在.Com中Microsoft.Winsock

Public Class Form1

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Integer)

Dim NoSrv As Boolean

Dim TimeFromNet As String

Dim OldTime As Date

Dim NewTime As Date

Dim MyDate As Date

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

If AxWinsock1.CtlState MSWinsockLib.StateConstants.sckClosed Then AxWinsock1.Close()

AxWinsock1.Protocol = MSWinsockLib.ProtocolConstants.sckTCPProtocol

NetTime("") '首先取中科院国家授时中心时间

If NoSrv Or TimeFromNet = "" Then

NetTime("time.nist.gov") '取美国标准技时院时间

If NoSrv Or TimeFromNet = "" Then

MsgBox("检测不到网络标准时间服务器time.nist.gov!")

Else

NetTime("time.nist.gov")

If TimeFromNet = "" Then

MsgBox("网络标准时间服务器time.nist.gov超时!")

Else

MyDate = Mid(TimeFromNet, 8, 8)

OldTime = Mid(TimeFromNet, 17, 8)

NewTime = TimeSerial((Hour(OldTime) + 8) Mod 24, Minute(OldTime), Second(OldTime))

Dim MyTime As DateTime = MyDate Space(1) NewTime

MsgBox(MyTime)

'SetWindowsClock(MyTime)

End If

End If

Else

'使网络误差时间小,第2次再中科院国家授时中心时间

NetTime("")

If TimeFromNet = "" Then

MsgBox("网络标准时间服务器超时!")

Else

MyDate = Mid(TimeFromNet, 8, 8)

NewTime = Mid(TimeFromNet, 17, 8)

Dim MyTime As DateTime = MyDate Space(1) NewTime

MsgBox(MyTime)

'SetWindowsClock(MyTime)

End If

End If

End Sub

Private Sub NetTime(ByVal TimeSrv As String)

NoSrv = False

TimeFromNet = ""

If AxWinsock1.CtlState MSWinsockLib.StateConstants.sckClosed Then AxWinsock1.Close()

AxWinsock1.RemoteHost = TimeSrv ' "" 或 "time.nist.gov"

AxWinsock1.RemotePort = 13

AxWinsock1.LocalPort = 0

AxWinsock1.Connect()

Do While TimeFromNet = ""

If NoSrv Then Exit Do

Sleep(55)

System.Windows.Forms.Application.DoEvents()

Loop

If AxWinsock1.CtlState MSWinsockLib.StateConstants.sckClosed Then AxWinsock1.Close()

End Sub

Private Sub AxAxWinsock1_CloseEvent(ByVal sender As Object, ByVal e As System.EventArgs) Handles AxWinsock1.CloseEvent

AxWinsock1.Close()

End Sub

Private Sub AxAxWinsock1_DataArrival(ByVal sender As Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles AxWinsock1.DataArrival

AxWinsock1.GetData(TimeFromNet)

End Sub

Private Sub AxAxWinsock1_Error(ByVal sender As Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_ErrorEvent) Handles AxWinsock1.Error

NoSrv = True

End Sub

End Class

VB.net窗体程序的time控件,可以识别到的最小时间差是多少纳秒 ?

VB有现成的函数:

DateDiff(格式,日期1,日期2)

如今天到2010-5-1 8:00:00的时间差,代码:

DateDiff("yyyy",Now,#2010-5-1 8:00:00#) '还有几(整)年

DateDiff("q",Now,#2010-5-1 8:00:00#) '还有几(整)季度

DateDiff("m",Now,#2010-5-1 8:00:00#) '还有几(整)月

DateDiff("d",Now,#2010-5-1 8:00:00#) '还有几(整)天

DateDiff("ww",Now,#2010-5-1 8:00:00#) '还有几(整)周

DateDiff("h",Now,#2010-5-1 8:00:00#) '还有几(整)小时

DateDiff("n",Now,#2010-5-1 8:00:00#) '还有几(整)分钟

DateDiff("s",Now,#2010-5-1 8:00:00#) '还有几(整)秒

vb net获取系统时间

Sub gettime()

nowtime = Format(DateTime.Now, "yyyy/MM/dd hh:mm:ss")

MsgBox nowtime

End Sub

其中DateTime.Now为当前系统的时间

Format是设置时间格式

效果如下


标题名称:vb.nettime,vbnettimer 最大间隔
文章源于:http://myzitong.com/article/dsedocg.html