[time-nuts] Re: Why Jan 6th?

Tom Van Baak tvb at LeapSecond.com
Wed Mar 23 02:25:51 UTC 2022


 > 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 2400000.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?




More information about the Time-nuts_lists.febo.com mailing list