Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

gps time, time conversion

Tags:

time

gps

I have time in UTC seconds format. Could any one assist on how to convert such numbers to GPS time in normal timestamp (dd-mm-yyyy hh:mm:ss)? I need a C code or, perhaps, algorithm.

like image 685
Glebka Avatar asked Jan 17 '23 12:01

Glebka


1 Answers

Update (June 2017): Currently 18 leap seconds.


GPS time is simply UTC time, but without leap seconds. As of this writing, there have been 15 leap seconds since the GPS epoch (January 6, 1980 @ 00:00:00), so if it's 2012/02/13 @ 12:00:00 (UTC), then it's 2012/02/13 @ 12:00:15 in GPS time. If you want to do correct conversions for other times, you'll have to take into account when each leap second went into effect.

Here's how you can compute the current offset, from a couple different "authoritative" sources:

  • http://www.ietf.org/timezones/data/leap-seconds.list -- Count the number of lines starting from the 2571782400 20 # 1 Jul 1981 line. Or just subtract 19 from the last number in the list (e.g., 37-19 = 18) as of May 2017.

  • https://www.nist.gov/pml/time-and-frequency-division/atomic-standards/leap-second-and-ut1-utc-information -- Count the number of leap seconds inserted (from the Leap Seconds Inserted into the UTC Time Scale section), starting with (and including) the 1981-06-30 entry.

like image 186
jjlin Avatar answered Jan 30 '23 00:01

jjlin