据我所知,目前在python中没有函数可以从gps epoch获取当前日期的闰秒。正在调查/开发的适当补丁:leap seconds path in datetime
你能告诉我怎样获得闰秒的最佳方法吗?我找到了解决办法:
def getLeapSec(Tgps):
daysFromGPSEpoch = timedelta(seconds=Tgps).days
tableLeapSec = ([
[0, 542, 907, 1272, 2003, 2917, 3648, 4013, 4560, 4925, 5290, 5839, 6386, 6935, 9492, 10588, 11865, 12960],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
])
for i in range(1, len(tableLeapSec[0])):
if daysFromGPSEpoch < tableLeapSec[0][i]:
return tableLeapSec[1][i-1]
示例:
^{pr2}$
如果您有权访问系统上的the up-to-date tzfile,则可以使用^{} module :
主要优点是
tzdata
包每年由系统自动更新几次(引入闰秒的频率更高)。您的代码将使用新数据,而无需更改它。在否则,作为后备,您可以硬编码
^{pr2}$leapseconds.leapseconds()
调用的结果:在本例中引入下一个闰秒时,必须手动更新列表。在
闰秒更新的权威源是由同时提供TAI-UTC data since 1961的IER发布的Bulletin C。在
你可以每半年ping一次IESR(例如1月、7月),以便在下一个闰秒被调度时使用^{} 以编程方式找出答案。在
相关问题 更多 >
编程相关推荐