in reply to Re^2: Convert Octet String DateAndTime to printable string
in thread Convert Octet String DateAndTime to printable string

Hi, I am wokring on the same problem. Could you help me also. my contact is kevin.zhang@mblox.com
  • Comment on Re^3: Convert Octet String DateAndTime to printable string

Replies are listed 'Best First'.
Re^4: Convert Octet String DateAndTime to printable string
by uk1577 (Initiate) on Jun 03, 2008 at 18:12 UTC
    Hi One of the varbind of snmptrap carrying date and time in Octet String. When i am trying to ocnvert it into string i got value that is not macthing the data and time. "DateAndTime (Octet String) (SIZE(8|11))"
    Here is my code


    $octets="D8 06 01 01 27 3B 00 ";

    @date = unpack 'n C6 a C2', $octets;

    $datetime = sprintf "%04d-%02d-%02d %02d:%02d:%02d", @date; # no time zone

    print $datetime

    $datetime = sprintf "%04d-%02d-%02d %02d:%02d:%02d.%d%s%02d:%02d", @date; # with tz info
    ~
    perl tt2.pl

    17464-32-48 54:32:48

      Well, your $octets only has 7 bytes in it, so it wouldn't pass the specs of "either 8 or 11 octets". Fiddling with it a bit suggests you dropped a "07" from the start:
      # you presented the octets as a string of hex numbers. # I'll do the same, then strip out the spaces, and pack # it into binary format $octets = "07 D8 06 01 01 27 3B 00"; $octets =~ s/ //g; $octets = pack "H*", $octets; # now $octets is in a form as you would get back from snmp, # so we unpack with the template I gave earlier: @date = unpack 'n C6 a C2', $octets; # and print $datetime = sprintf "%04d-%02d-%02d %02d:%02d:%02d", @date; print $datetime;
      This prints: "2008-06-01 01:39:59".
Re^4: Convert Octet String DateAndTime to printable string
by Anonymous Monk on Jun 03, 2008 at 17:52 UTC
    Hi One of the varbind of snmptrap carrying date and time in Octet String. When i am trying to ocnvert it into string i got value that is not macthing the data and time. "DateAndTime (Octet String) (SIZE(8|11))" Here is my code $octets="D8 06 01 01 27 3B 00 "; @date = unpack 'n C6 a C2', $octets; ##</code><code>## $datetime = sprintf "%04d-%02d-%02d %02d:%02d:%02d", @date; # no time zone print $datetime #$datetime = sprintf "%04d-%02d-%02d %02d:%02d:%02d.%d%s%02d:%02d", @date; # with tz info ~ perl tt2.pl 17464-32-48 54:32:48 Please let me know what is the problem in my code. My id is"umkamath@in.ibm.com"
Re^4: Convert Octet String DateAndTime to printable string
by uk1577 (Initiate) on Jun 03, 2008 at 18:10 UTC
    Hi One of the varbind of snmptrap carrying date and time in Octet String. When i am trying to ocnvert it into string i got value that is not macthing the data and time. "DateAndTime (Octet String) (SIZE(8|11))"
    Here is my code

    $octets="D8 06 01 01 27 3B 00 "; @date = unpack 'n C6 a C2', $octets; $datetime = sprintf "%04d-%02d-%02d %02d:%02d:%02d", @date; # no time zone print $datetime #$datetime = sprintf "%04d-%02d-%02d %02d:%02d:%02d.%d%s%02d:%02d", @date; # with tz info ~ perl tt2.pl 17464-32-48 54:32:48