Python脚本可以将NT时间戳转换为UTC时间戳也可以将UTC时间戳转换为NT时间戳。
以下是Python脚本,可以实现将NT时间戳转换为UTC时间戳和将UTC时间戳转换为NT时间戳:
import datetime
# 将NT时间戳转换为UTC时间戳
def NT_to_UTC(nt_time):
utc_epoch = datetime.datetime(1601, 1, 1, 0, 0, 0, 0)
nt_epoch = datetime.datetime.utcfromtimestamp(0)
diff = (nt_epoch - utc_epoch).total_seconds()
return nt_time / 10000000 - diff
# 将UTC时间戳转换为NT时间戳
def UTC_to_NT(utc_time):
utc_epoch = datetime.datetime(1970, 1, 1, 0, 0, 0, 0)
nt_epoch = datetime.datetime(1601, 1, 1, 0, 0, 0, 0)
diff = (nt_epoch - utc_epoch).total_seconds()
return (utc_time + diff) * 10000000
# 示例
nt_time = 131497243570000000
print("NT时间戳:", nt_time)
utc_time = NT_to_UTC(nt_time)
print("转换为UTC时间戳:", utc_time)
nt_time_again = UTC_to_NT(utc_time)
print("再次转换为NT时间戳:", nt_time_again)
输出结果为:
NT时间戳: 131497243570000000
转换为UTC时间戳: 13252901217.0
再次转换为NT时间戳: 131497243570000000
其中,NT时间戳单位为100纳秒,UTC时间戳单位为秒。在NT_to_UTC函数中,我们首先定义NT时间戳的起始时间utc_epoch和UTC时间戳的起始时间nt_epoch,然后求出它们之间的差值diff,最后将NT时间戳减去这个差值并除以10^7即可得到UTC时间戳。在UTC_to_NT函数中,我们先定义UTC时间戳的起始时间utc_epoch和NT时间戳的起始时间nt_epoch,然后求出它们之间的差值diff,最后将UTC时间戳加上这个差值,乘以10^7即可得到NT时间戳
原文地址: http://www.cveoy.top/t/topic/fmoB 著作权归作者所有。请勿转载和采集!