同步网络授时中心北京时间
由于电脑时钟与国家授时中心时间存在一定的误差,电脑时钟精准度随着时间的推移,时间差会越来越大。为了解决时间差问题,就需要以国家授时为基准,定时校正电脑时间。
编程原则:以能否实现编程目标为准则,暂不考虑运行速度、代码是否简洁高效
一、编程环境:
操作系统:widows server 2022
编程语言:微软visual studio 2022(vb.net)
二、界面
主要控件:
TextBox(1、2):显示信息
Button:按钮
Timer:计时器,间歇性获得网络和电脑时间,自动校对时间差
三、主要过程
'同步授时中心北京时间,更新电脑时间
'Dim webUrl3 = "http://www.taobao.com" '淘宝
'Dim webUrl5 = "http://www.360.cn" '360
'Dim webUrl = "http://www.ntsc.ac.cn" '中国科学院国家授时中心
'2024年4月24日经过检测,中国科学院国家授时中心原网址(http://www.ntsc.ac.cn),已经更新为(www.ntsc.cas.cn中国科学院国家授时中心中国科学院国家授时中心是我国唯一、专门、全面从事时间频率基础研究和应用研究的科研机构,承担着我国国家标准时间(北京时间)的产生、保持和发播任务,建设和运行着的长短波授时系统是我国的第一批国家重大科技基础设施,建成了国内唯一的天地一体星地综合卫星导航授时试验平台,为我国的国家时间频率体系、卫星导航系统的建设和发展做出了重要贡献。国家授时中心总部位于陕西省西安市临潼区,在西安航天产业基地、渭南蒲城设有分部,另有授时发播台、授时监测站、测定轨站分布在全国。主要开展量子频标、时间保持、守时理论与方法、高精度时间传递与精密测定轨研究室、时间频率测量与控制、时间用户系统与终端、导航与通信等研究工作。http://www.ntsc.cas.cn/):中国科学院国家授时中心
……
由于电脑性能、网络、授时服务器等原因,建议准备多个授时中心备用
1、Public Function 检查网络连接(ByVal url As String) As Boolean
用于检查网站网络连接是否畅通
2、Sub 更新电脑时间(ByVal 网络授时网站 As String, ByVal 网络授时网站名称 As String)
以网络时间为基准,校正电脑上的时间
3、Private Sub TM本地时间和网络时间_Tick(sender As Object, e As EventArgs) Handles TM本地时间和网络时间.Tick
便于调试观察(网络时间-电脑时间)时间差,实际运行时,可以不运行。毕竟长久调试和观察时间差,会占用大量的电脑性能、网络流量,同时对授时服务器也有潜在的服务攻击性。
四、全部代码
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim 网络授时中心 As String = "http://www.ntsc.ac.cn"
'判断网络是否连接
Dim 网络连接状态 = 检查网络连接(网络授时中心)
If 网络连接状态 = True Then
更新电脑时间(网络授时中心, "中国科学院国家授时中心")
Else
网络授时中心 = "http://www.baidu.com" '百度网站
网络连接状态 = 检查网络连接(网络授时中心)
If 网络连接状态 =