> Why is it 0UTC Jan 6, 1980
Short answer: GPS time is based on week numbers. The week number
increments at midnight between Saturday and Sunday. Thus for the
timescale to start at 0 seconds, in the year 1980, you have to pick
January 6th (Sunday) not January 1st (Tuesday) as the starting day.
See also:
https://en.wikipedia.org/wiki/Epoch_(computing)
https://gssc.esa.int/navipedia/index.php/Time_References_in_GNSS
Long answer: GPS time is kept as two continuous counters. One is a
binary wrapping count of weeks and the other is a count of seconds
within the week, which starts at 0 and resets at 604800 (7 * 24 * 60 *
60). Timing in GPS is based on this {week, seconds} tuple.
The week number increments at midnight between Saturday and Sunday. In
the US, Sunday is considered the first day of the week and civil
calendars show weeks going from Sunday to Saturday so a GPS week starts
at 0h Sunday and ends 24h Saturday. Note this is GPS midnight and not
UTC midnight. The two were equal in 1980 but now close yet unequal due
to leap seconds in UTC.
To create what we call "time of day" from this tuple some sort of
starting point must be defined. That's because fundamentally time is
relative and the SI unit of time is interval. So the time "now" must be
represented as as interval, such as now minus then, where "then" is some
agreed upon origin point (aka epoch). There are many different timing
systems and for practical or historical reasons each one gets to borrow
or define its epoch. Some examples:
01-Jan-1601 Windows NT
17-Nov-1858 VMS
01-Jan-1900 NTP
01-Jan-1958 Loran-C
01-Jan-1970 UNIX
01-Jan-1980 DOS
06-Jan-1980 GPS
22-Aug-1999 Galileo
01-Jan-2006 BeiDou
These choices are an interesting mix of history, convenience, round
numbers, and math. The main difference is that astronomical or computer
epochs tend to count seconds or days and thus have no week alignment
requirement. By contrast all three GNSS systems mentioned above are
based on week numbers. So if you want the timescale to start at {0,0}
the starting day needs to be a Sunday. Type cal 1 1980; cal 8 1999; cal
1 2006 to verify for the above 3 GNSS systems.
You'll recognize many of these numbers. The VMS epoch is MJD 0, which is
JD 240.5 and the Loran-C epoch is the de facto beginning of atomic
time. UNIX and DOS chose round decade numbers; NTP chose a round century
number; Windows NT chose a four century number (recall 4-100-400 leap
year rule). Many more examples are found in the wikipedia page I linked
above.
/tvb
On 3/22/2022 5:15 PM, Lux, Jim wrote:
I've been hunting around for the origin of GPS zero - Why is it 0UTC
Jan 6, 1980? Is it a subtle joke about "Twelfth Night"? Does it have
some useful properties that "end of year" does not?
___
time-nuts mailing list -- time-nuts@lists.febo.com -- To unsubscribe send an
email to time-nuts-le...@lists.febo.com
To unsubscribe, go to and follow the instructions there.