>Current UTC is got by subtracting the correction in CVTLSO from the
>value returned by STCK.  I know of no z/OS supplied facility that
>correctly converts historic TOD values to UTC.  (It's not clear
>whether STCKCONV does this; IBM refuses to provide detailed documentation
>of the behavior of STCKCONV, calling it "common knowledge".  IMO,
>"common knowledge" without even a citation is a shabby alternative
>to documentation.)

  I will tell you exactly what  STCKCONV does.
It subtracts CVTLSO (obtained from the CVT of the system where
STCKCONV is being executed) from the input you provide, 
It then adds CVTLDTO. 

  STCKCONV  has no knowledge of historical leap second values. 
 z/OS obtains the current value for CVTLSO from the 
machine via an internal ETR/STP interface.  This interface does not
provide a table of historical values.

  If your program requires historical correctness, it could maintain a 
historical table of leap second values, and compute the difference
between the number of leap seconds in effect at the date of your 
historical TOD value and the number of leap seconds for the
current date.  Convert that number of seconds of difference to timer 
units (by multiplying by  1,000,000 (microseconds per second)  * 
4096 (timer units per microsecondsecond) ).    Add this number of
timer units to your historical time stamp, and pass the result to 
STCKCONV. 

Jim Mulder   z/OS System Test   IBM Corp.  Poughkeepsie,  NY(845) 435-4741 
(T/L 295)   M/S P351

Reply via email to