Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??

Seems you want your HH:MM (localtime or GMT?) to match within the given range?

use strict; use warnings; use JSON; use Time::Local; my ($hh, $mm) = (15, 20); # 15:20 while ( my $data = <DATA> ) { my $struct = from_json( $data ); if ( my @res = filter_data_hh_mm( $struct, $hh, $mm ) ) { # ... do something print "Matches: $hh:$mm: [ " .gmtime( $_->[0] ) . ".." . gmtime( +$_->[1] ) . " ]\n" for ( @res ); } } sub filter_data_hh_mm { my ($struct, $hh, $mm) = @_; my @res; for my $line ( @{ $struct->{aaData} } ) { # match if begin is before begin-day HH:MM:59 and # if end is after end-day HH:MM:00 if ( $line->[0] <= epoch_at_hhmmss( $line->[0], $hh, $mm , 59) and epoch_at_hhmmss( $line->[1], $hh, $mm , 0) <= $line->[1] ) { push @res, $line; } } return @res; # matching lines or () } sub epoch_at_hhmmss { my ( $epoch, $hh, $mm, $ss ) = @_; #-- use localtime(), timelocal() if $hh:$mm is in localtime # or adjust $hh:$mm to UTC/GMT accordingly my @epoch0 = gmtime( $epoch ); @epoch0[0..2] = ($ss, $mm, $hh); return timegm( @epoch0 ); } __DATA__ {"DisplayRecords":"12","Records":"12","sColumns":"startTime,endTime,re +moteNode,srcIP,srcPort,destIP,destPort,egress,ingress","aaData":[["13 +75976271","1375976430","LAN","D0:05:FE","172.20.30.2",1093,"172.20.28 +.2",1330,"1034,348","0,0"],["1375976246","1375976404","LAN","D0:05:FE +","172.20.30.2",1092,"172.20.28.2",1327,"1034,348","0,0"],["137597619 +1","1375976381","LAN","D0:05:FE","172.20.30.2",1091,"172.20.28.2",132 +4,"1034,348","0,0"],["1375976171","1375976314","LAN","D0:05:FE","172. +20.30.2",1090,"172.20.28.2",1321,"1034,348","0,0"],["1375976144","137 +5976302","LAN","D0:05:FE","172.20.30.2",1089,"172.20.28.2",1319,"1034 +,348","0,0"],["1375975155","1375976089","LAN","D0:05:FE","172.20.30.2 +",1085,"172.20.28.2",1278,"1034,348","0,0"],["1375975194","1375975352 +","LAN","D0:05:FE","172.20.30.2",1086,"172.20.28.2",1281,"1034,348"," +0,0"],["1375974693","1375974835","LAN","D0:05:FE","172.20.30.2",1083, +"172.20.28.2",1271,"1034,348","0,0"],["1375974668","1375974827","LAN" +,"D0:05:FE","172.20.30.2",1081,"172.20.28.2",1268,"1034,348","0,0"],[ +"1375974691","1375974821","LAN","D0:05:FE","172.20.30.2",1082,"172.20 +.28.2",1270,"0,0","0,0"],["1375881371","1375881561","LAN","D0:05:FE", +"172.20.30.2",1055,"172.20.28.2",1122,"1034,348","0,0"],["1375881410" +,"1375881540","LAN","E0:05:AE","172.20.30.2",1056,"172.20.28.2",1125, +"0,0","0,0"]]}

Result:

Matches: 15:20: [ Thu Aug 8 15:19:15 2013..Thu Aug 8 15:34:49 2013 +] Matches: 15:20: [ Thu Aug 8 15:19:54 2013..Thu Aug 8 15:22:32 2013 +]


In reply to Re: Epoch based parser by Perlbotics
in thread Epoch based parser by spikeinc

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • Outside of code tags, you may need to use entities for some characters:
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others exploiting the Monastery: (5)
    As of 2014-11-23 01:33 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      My preferred Perl binaries come from:














      Results (127 votes), past polls