I have to evaluate NTP (Network Time Protocol) log files a lot. In these log files a special format for dates and time is used, which is not the standards Unix time format. It cannot be transformed into something readable with the calculation transformation (MSecToDateTime) directly.
I build some transformation steps to get it calculated to Unix format and make it readable. Maybe it helps in case somebody has to handle such data, too.
I replaced in my example file the separating “.” in seconds to a comma (working in German environment, where comma is the separator for decimal places)
it is a nightmare of algorithm and used basis I identified by try and error, but I searched now and in the RFC 5905 specification I found the following, which fits with my implementation:
Entering the days 0 and 15020 in my transformation it shows:
The other challenge was that the first step in my calculation showed than a Unix date at 01:00 o’clock. when this is sorted out the rest is simple. Crutial is to still have the 1/1000 seconds in the process which is given in MSecToDateTime calculation.
Note that the OpenVMS time display and manipulation routines allow for
only 4 digits in the ‘YEAR’ field. We expect this to be corrected in
a future release of OpenVMS sometime prior to 31-DEC-9999.