The SMFxxTME and SMFxxDTE fields are in my experience consistent 
representations of *local* time and date on the LPAR represented by the SMFID. 
No worries about leap seconds (unless you need to get back to some more basic 
time than local).

SMFxxTME is the time in hundredths of a second since midnight. There may be 
system services to convert this (LE time services?) but I just do the 
arithmetic, which should be easy in assembler, COBOL or C:

Divide by 100 -- remainder is hundredths of a second.
Divide quotient by 60 -- remainder is seconds.
Divide quotient by 60 -- remainder is minutes.
Quotient is hours (24 hour clock).

SMFxxDTE is in an amusing packed format:

0cyydddF where c is the century offset by 19 -- that is, 01 => 2000; yy is the 
low order digits of the year; and ddd is the "Julian" day number of the year: 
001 = January 1, ... 365 = December 31 (366 for leap years).

If you can unpack it there may be system services to further manipulate it. 

I thought there were system services to work with the basic SMF time and date 
formats but I don't see them. I have my own code that I "always" use, so I have 
not looked for system services in some years.

Charles

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Janet Graff
Sent: Tuesday, January 05, 2016 3:39 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: SMFxTME field

What macro would we use to convert TIME BIN to a readable DATE TIME?  It 
doesn't look like STCKCONV to CONVTOD take input of a 32-bit unsigned binary.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to