vb怎么实现通过网络协议,读某台机器的系统时间,然后修改本机的时间?

blueice2002 2003-07-14 01:13:50
vb怎么实现通过网络协议,读某台机器的系统时间,然后修改本机的时间?
我知道修改本地时间有个api函数setsystemtime,那怎么通过网络得到局域网内某台机子的系统时间?
...全文
69 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
cngxylyh 2003-11-18
windows能配置NTP吗?
回复
sword281 2003-11-18
查windows帮助文件 net time
net time
使计算机的时钟与另一个计算机或域的时钟同步。如果在没有 /set 选项的情况下使用,则显示另一个计算机或域的时间。

net time [\\computername | /domain[:domainname] | /rtsdomain[:domainname]] [/set]

net time [\\computername] [/querysntp] | [/setsntp[:ntp server list]]

参数



显示被指派为本地计算机的 Windows 服务器域的时间服务器的计算机的当前时间。

\\computername

指定要检查或与之同步的服务器的名称。

/domain[:domainname]

指定要同步时间的域。

/rtsdomain[:domainname]

指定要与之同步的可信时间服务器所在的域。

/set

使计算机的时钟与指定的计算机或域的时间同步。

/querysntp

显示当前为本地计算机或 \\computername 所指定的计算机配置的网络时间协议 (NTP) 服务器的名称。

/setsntp[:ntp server list]

指定本地计算机所使用的 NTP 时间服务器的列表。该列表可以包含 IP 地址 或 DNS 名称,用空格分开。如果要使用多个时间服务器,该列表必须用引号引起来。

回复
planetike 2003-11-06
自己写一个简单的winsock通讯,一开机就取服务器上的时间。
回复
老汉 2003-11-06
我直接区SQL服务器上的时间:GetTime(),然后setsystemtime。

'与数据库服务器是中同步
Public Sub SetComputerTime()
Dim RsDate As ADODB.Recordset
Dim TemSys As SystemTime
Dim Curdate As Date
Dim curTime As Date

Set RsDate = HisConn.Execute("Select getdate() as CurDate,@@ServerName as ServerName")

If Not RsDate.EOF Then
Curdate = Format(RsDate.Fields("Curdate"), "yyyy-mm-dd")
curTime = Format(RsDate.Fields("Curdate"), "hh:mm:ss")
' ServerName = RsDate.Fields("ServerName")

TemSys.wYear = Year(Curdate)
TemSys.wMonth = Month(Curdate)
TemSys.wDay = Day(Curdate)
TemSys.wHour = Hour(curTime) - 8
TemSys.wMinute = Minute(curTime)
TemSys.wSecond = Second(curTime)

'设置当前计算机的日期,时间.
SetSystemTime TemSys
End If
End Sub
回复
blueice2002 2003-07-14
就是说,我要实现两台计算机的时间同步?谢谢!
回复
发帖
API
创建于2007-09-28

1461

社区成员

VB API
申请成为版主
帖子事件
创建了帖子
2003-07-14 01:13
社区公告
暂无公告