-
1. 定义
- 1.1 基本要素
- 1.2 版本演变
-
2. 实例演试
- 2.1 必要条件
- 2.2 详细编码
- 2.3 别的难题
- 3. 参照信息内容:
1. 定义
1.1 基本要素
时间,针对大家而言很重要 ,何时干什么?何时产生哪些?沒有时间的定义 ,日常生活就乱掉。
在平时的运维管理之中,大家更关心报警的时间:何时产生 、哪些安全事故 、危害范畴、何时处理,全是有相关性的 ,因此时间的精确性是非常非常的关键 。
你很有可能会好奇心,时间到底是如何来的呢?做为网工的你,很有可能你也并不是很清晰吧?
-
是不是你只了解NTP?
-
规范参照时钟是啥?
-
时间戳'1573401600' , 能看得出这是什么时间点?
原子钟和GPS是做为规范参照时钟 ,全世界都以它为时钟源 。
从你腕表或电脑上的时间同歩到时钟源,正中间很有可能历经多等级,每一层称为 'stratum' ,仅仅精准度不一样罢了。自然 ,大家毫无疑问并不是立即和原子钟同歩,我们可以挑选近期的主时钟源,例如我国/中国香港这些。
或是 ,大家企业内部网可能是同歩到内部网的主时钟网络服务器,随后同歩到互联网技术去 。
讲完了时钟源,那麼得有一个时间规范吧 ,全球每一个我国时区时间都不一样 ,不能用一个时间给全地球上用吧。
GMT(Greenwich Mean Time): 格林尼治标准时间,以太阳光横贯格林尼治子午线(本初子午线)来测算,现不强烈推荐;
UTC( Universal Time Coordinated ):融洽全球时间 , 以分子时秒长为基本 ,贴近GMT,做为全球标准时间。
以便统一全球的时间 ,1884年的国际性经纬度大会规要求将全世界区划为24个时区时间(东、西各12个时区时间) 。要求美国(格林尼治天文台认证原址)为零时区(GMT 00),东1-12区,西1-12区 ,中国北京处在东8区(GMT 08)
举例说明:
UTC 时间:2019-11-10 16:00:00
北京市时间:2019-11-11 00:00:00 (UTC 八个钟头)
时钟源和标准时间讲完了,那麼接下去讲讲时间同歩通讯体制。
-
互联网时间协议书NTP(Network Time Protocol)是TCP/IP协议族里边的一个应用层协议。
-
NTP用以在一系列分布式系统时间网络服务器与手机客户端中间同歩时钟 。
-
NTP的完成根据IP和UDP,NTP报文格式根据UDP传送 ,服务器端口是123。
1.2 版本演变
版本 | 时间 | 协议书号 | 叙述 |
---|---|---|---|
NTPv1 | 1994年6月 | RFC 1059 | 初次明确提出了详细的NTP标准及其优化算法,可是NTPv1不兼容验证和操纵信息 |
NTPv2 | 1989年九月份 | RFC 1119 | 适用验证和操纵信息 |
NTPv3 | 1991年三月 | RFC 1305 | 宣布引进了校准标准,并改善了时钟挑选和时钟过虑优化算法。NTPv3现阶段运用比较普遍,仅适用IPv4 |
NTPv4 | 二零一零年6月 | RFC 5905 | 适用IPv4和IPv6 ,安全系数高些 。 |
2. 实例演试
2.1 必要条件
准备好三方库:ntplib
安装方法:
pip3 install -i [https://pypi.douban.com/simple/](https://pypi.douban.com/simple/) ntplib
自然环境:Windows Python3
2.2 详细编码
#!/usr/bin/env python3
#-*- coding:UTF-8 -*-
#热烈欢迎关心微信公众平台:点点滴滴技术性
#这里有可靠 、有使用价值、免费资源
import ntplib
import os,datetime
hosts = ['0.cn.pool.ntp.org','1.cn.pool.ntp.org','2.cn.pool.ntp.org','3.cn.pool.ntp.org']
def ntp_client():
#建立案例 ,NTPClient()是一个类
t = ntplib.NTPClient()
for host in hosts:
try:
#ntp server能够填好服务器和网站域名,提议用网站域名
#默认设置端口号为ntp, 版本为2 , 请求超时为5s
#功效:查寻 NTP 网络服务器,并回到目标
r = t.request(host , port='ntp', version=4, timeout=5)
if r:
break
except Exception as e:
pass
#显示信息的是时间戳
t = r.tx_time
#应用datetime控制模块,恢复出厂设置:x年x月x日 时:分:秒.ms
_date,_time = str(datetime.datetime.fromtimestamp(t))[:22].split(' ')
print("调节前时间是:", datetime.datetime.now())
os.system('date {} && time {}'.format(_date, _time))
print("调节后时间是:", datetime.datetime.now())
if __name__ == '__main__':
#适用Windows
ntp_client()
在windowns自然环境下,根据'管理人员'运作'cmd',进到到相匹配的文件路径 ,运作結果以下所显示:
备注名称:目前为止,并未寻找可以在pycharm立即运行代码,出错 “手机客户端沒有需要的权利” ,事后科学研究 'ctypes' 看可否完成。
2.3 别的难题
有关pycharm运作'os.system()' 出現中文乱码难题,必须改下编号难题,设定以下:
3. 参照信息内容:
亚洲地区NTP网络服务器池:
时间戳变换
UTC
时区时间
假如喜爱的我的文章内容 ,热烈欢迎关注我的微信公众号:点点滴滴技术性,扫一扫二维码,经常性共享
文章来源于网络 ,如有侵权请联系站长QQ61910465删除本文版权归趣快排营销www.SEOguruBLOG.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系QQ㊣61910465