[Discussion] New Daylight Savings Time Changes [Was: ECS- Eliminate excess Printers]

David Azarewicz david at 88watts.net
Thu Feb 22 10:02:18 PST 2007


On Wed, 21 Feb 2007 23:44:23 -0500 (EST), Carl Gehr wrote:

>I debated raising this subject again.  But in light of the above, I
>suggest that David and anyone else who thinks they can just rely on a
>time server somewhere to bail them out, read the article:
>
>    "Daylight saving time: What's up with those time servers?"
>        By Jennifer Mears, Network World, 02/01/07
>>http://www.networkworld.com/news/2007/020107-daylight-saving-time-serv
ers.html
>
>The key statement:
>	"While time servers keep networked devices synchronized,
>        they don't recognize daylight saving shifts. As several
>        experts noted in our recent 'Daylight saving changes:
>        No Y2K, but there could be headaches" story, a time server
>        will do nothing to solve daylight-saving snafus.'"

This article is somewhat misleading in that it leaves out much information in 
order to make the point.  What it article says it true *IF* you use the NTP 
(RFC-1305).  However it is not true if you use the Daytime Protocol 
(RFC-867).  This protocol does, in fact, provide daylight time information.  
(See http://tf.nist.gov/service/its.htm) I use the Daytime Protocol to set my 
clock.  This is the protocol used by NISTIME.EXE which I have set to run by 
cron early every morning.  The ecsclock program can also be set to use this 
protocol.

If you look at the NIST.GOV site you will find that the Daytime protocol 
provides much more information that the more simple NTP: 

Daytime Protocol (RFC-867)

      This protocol is widely used by small computers running MS-DOS and 
similar operating systems. The server listens on port 13, and responds to 
requests in either tcp/ip or udp/ip formats. The standard does not specify an 
exact format for the Daytime Protocol, but requires that the time is sent using 
standard ASCII characters. NIST chose a time code format similar to the one 
used by its dial-up Automated Computer Time Service (ACTS), as shown 
below:

      JJJJJ YR-MO-DA HH:MM:SS TT L H msADV UTC(NIST) OTM

      where:

          o JJJJJ is the Modified Julian Date (MJD). The MJD has a starting 
point of midnight on November 17, 1858. You can obtain the MJD by 
subtracting exactly 2 400 000.5 days from the Julian Date, which is an 
integer day number obtained by counting days from the starting point of 
noon on 1 January 4713 B.C. (Julian Day zero).

          o YR-MO-DA is the date. It shows the last two digits of the year, the 
month, and the current day of month.

          o HH:MM:SS is the time in hours, minutes, and seconds. The time is 
always sent as Coordinated Universal Time (UTC). An offset needs to be 
applied to UTC to obtain local time. For example, Mountain Time in the U. S. 
is 7 hours behind UTC during Standard Time, and 6 hours behind UTC 
during Daylight Saving Time.

          o TT is a two digit code (00 to 99) that indicates whether the United 
States is on Standard Time (ST) or Daylight Saving Time (DST). It also 
indicates when ST or DST is approaching. This code is set to 00 when ST is 
in effect, or to 50 when DST is in effect. During the month in which the time 
change actually occurs, this number will decrement every day until the 
change occurs. For example, during the month of October, the U.S. changes 
from DST to ST. On October 1, the number will change from 50 to the actual 
number of days until the time change. It will decrement by 1 every day until 
the change occurs at 2 a.m. local time when the value is 1. Likewise, the 
spring change is at 2 a.m. local time when the value reaches 51.

          o L is a one-digit code that indicates whether a leap second will be 
added or subtracted at midnight on the last day of the current month. If the 
code is 0, no leap second will occur this month. If the code is 1, a positive 
leap second will be added at the end of the month. This means that the last 
minute of the month will contain 61 seconds instead of 60. If the code is 2, a 
second will be deleted on the last day of the month. Leap seconds occur at 
a rate of about one per year. They are used to correct for irregularity in the 
earth's rotation. The correction is made just before midnight UTC (not local 
time).

          o H is a health digit that indicates the health of the server. If H=0, the 
server is healthly. If H=1, then the server is operating properly but its time 
may be in error by up to 5 seconds. This state should change to fully healthy 
within 10 minutes. If H=2, then the server is operating properly but its time is 
known to be wrong by more than 5 seconds. If H=4, then a hardware or 
software failure has occurred and the amount of the time error is unknown.

          o msADV displays the number of milliseconds that NIST advances the 
time code to partially compensate for network delays. The advance is 
currently set to 50.0 milliseconds.

          o The label UTC(NIST) is contained in every time code. It indicates 
that you are receiving Coordinated Universal Time (UTC) from the National 
Institute of Standards and Technology (NIST).

          o OTM (on-time marker) is an asterisk (*). The time values sent by the 
time code refer to the arrival time of the OTM. In other words, if the time 
code says it is 12:45:45, this means it is 12:45:45 when the OTM arrives. 


-----
David Azarewicz  david at 88watts.net




More information about the Discussion mailing list