>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
