GPS时间到GMT时间

时间:2011-12-18 13:40:15

标签: datetime gps timestamp gps-time

我有数以百万计的GPS数据记录,我想用它来进行一些统计分析。不幸的是,有一个名为GPSTime的字段包含如下数据:1320303210,1318118326,1302167205。

我相信这是GPS日期和时间。任何人都可以协助如何将这些数字转换为正常时间戳(dd-mm-yyyy hh:mm:ss)

2 个答案:

答案 0 :(得分:2)

gps.txt包含逐行的unix时间戳(自1970-01-01 00:00:00 UTC以来的秒数)。

$ cat gps.txt
1320303210
1318118326
1302167205

$ while read d; do date -ud @$d '+%F %T'; done <gps.txt
2011-11-03 06:53:30
2011-10-08 23:58:46
2011-04-07 09:06:45

$ TZ=UTC awk '{print strftime("%F %T", $1)}' gps.txt
2011-11-03 06:53:30
2011-10-08 23:58:46
2011-04-07 09:06:45

答案 1 :(得分:0)

您提到的格式的GPS时间是从1980年1月6日00:00:00开始的秒数。因此,如果您将这些数字除以31536000(常规年份的秒数并添加1980年),您将获得所需的年份数。不要忘记,有些年份有366天,你应该考虑到它。以类似的方式,您可以计算月,日,小时等。完成所有这些计算后,您将获得UTC格式的GPS时间。为了将其转换为UTC时间,您必须通过此时有效的UTC闰秒数来修复它。