Время GPS по времени GMT - PullRequest
       73

Время GPS по времени GMT

2 голосов
/ 18 декабря 2011

У меня есть миллионы записей данных GPS, которые я хотел использовать для статистического анализа. К сожалению, есть поле с именем GPSTime, которое содержит такие данные, как: 1320303210, 1318118326, 1302167205.

Я считаю, что это дата и время GPS. Может ли кто-нибудь помочь в том, как преобразовать такие числа в обычную метку времени (дд-мм-гггг чч: мм: сс)

Ответы [ 2 ]

2 голосов
/ 18 декабря 2011

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
0 голосов
/ 19 мая 2016

Время GPS в указанном вами формате - это количество секунд с 6 января 1980 года 00:00:00.Таким образом, если вы разделите эти числа на 31536000, то есть число секунд в обычном году, и прибавите 1980, вы получите число года, которое вы ищете.Не забывайте, что у некоторых лет есть 366 дней, и вы должны принять это во внимание.Аналогичным образом вы можете рассчитать месяц, день, час и т. Д. После всех этих расчетов вы получите время GPS в формате UTC.Чтобы перевести это время в UTC, вы должны исправить его на количество високосных секунд UTC, которые были действительны в это время.

...