我想从 Unix 时间转换为 GPS 时间,即在 Python 中计算自 GPS 纪元(1980 年 1 月 6 日)开始以来的周数。我不是在寻找一年中的几周,而是自 1980 年以来的几周。
首先,我的尝试是通过使用 time.time() 返回自 1970 纪元以来的时间(称为 Unix 时间)并从该纪元和 GPS 开始日期之间经过的秒数中减去它来获取经过的秒数。
这将返回自 1980 年以来的正确值(以秒为单位),但我想要 GPS 周数。是否有一个标准的 Python 函数可以返回这个?
笔记
GPS 日期表示为自纪元以来的周数和周数。GPS Epoch 是不同的 - 1980 年 1 月 6 日 00:00:00。此外,自纪元以来的“GPS 计数周” - GPS 周被定义为从星期日开始。注意:1 月 6 日是 1980 年的第一个星期日。1
Unix 时间系统的 Epoch 为 1970 年 1 月 1 日 00:00:00,ISO 将一年中的第一周定义为 - “包含一月第四天的那一周,相当于说它是第一个星期与新年至少重叠四天”。
还有其他时间系统,最著名的是J2000。从一个时间系统转换到另一个时间系统并非易事。
为了处理 GPS 时间,Perl 提供了 DateTime::Precise 库,它通过附加 GPS 操作执行常见的时间和日期操作。问题再次是,Python 是否提供了类似的库?