朱莉娅 GPS 毫秒时间的 UTC 时间

问题描述 投票:0回答:1

我试图理解将 gps 时间 ms 转换为 UTC 的逻辑。 GPS 时间已经通过 LIDAR 进行了以毫秒为单位的 utc 校正

我不知道如何确认这是否正确?

time_adj=capture_time + gps_correction = 1.3812925228868198e9
where gps_correction = 1e9
const gps_epoch = DateTime(1980, 1, 6)

unix2datetime(time_adj + datetime2unix(gps_epoch))

结果是 Dates.DateTime("2023-10-14T04:22:02.886")

这是正确的方法吗?

date time julia
1个回答
0
投票

这是正确的,但在从 GPS 转换时还需要考虑闰秒。截至 2023 年,在您计算的日期内,自 1980 年以来历年有 18 个闰秒(12 月 31 日至 1 月 1 日之间的秒数,不按 UTC 计算,而是按 GPS 时间标准计算)。因此,如果这很重要,要获得精确到秒的正确值,您还必须减去 18:

unix2datetime(time_adj + datetime2unix(gps_epoch) - 18)

如果您开始使用的 GPS 日期在 2017 年之前,则会有不同的调整数字。有关更多信息,请参阅示例 https://www.nist.gov/pml/time-and-Frequency-division/time-realization/leap-seconds

© www.soinside.com 2019 - 2024. All rights reserved.