In the past I have used the DateTime module to good effect for this.  There are 
a number of additional modules you can use that parse the string for you that 
match specific types of string format (such as ISO8601) or your own timestamp 
definition.

https://github.com/houseabsolute/DateTime.pm/wiki/FAQ
https://metacpan.org/pod/DateTime::Format::Strptime#$strptime-%3Eparse_datetime($string)
The parsing section on https://perlmaven.com/datetime

  Duncs

From: Asad [mailto:asad.hasan2...@gmail.com]
Sent: 23 October 2018 07:18
To: Jim Gibson <jimsgib...@gmail.com>
Cc: beginners@perl.org
Subject: Re: How to compare timestamp in two different files

Hi All ,

        first hurdle is how do I extract this Feb 23 01:10:28 2018  from file1 
which regex can I use ?

         convert it into epoch

        then

         regex for 02/23/18 01:10:33  is required  ?

        convert into epoch

       So if you can suggest the correct regex for both timestamps.

Thanks,

On Tue, Oct 23, 2018 at 11:21 AM Asad 
<asad.hasan2...@gmail.com<mailto:asad.hasan2...@gmail.com>> wrote:
Thanks, I will do that. It was for perl .

On Tue, Oct 23, 2018 at 10:42 AM Jim Gibson 
<jimsgib...@gmail.com<mailto:jimsgib...@gmail.com>> wrote:
On Oct 22, 2018, at 9:12 PM, Asad 
<asad.hasan2...@gmail.com<mailto:asad.hasan2...@gmail.com>> wrote:
>
> file1 :
> Patching tool version 12.1.0.2.0 Production on Fri Feb 23 01:10:28 2018
>
> Bootstrapping registry and package to current versions...done
> statement ERR-2001: table is corrupt check for cause
>
> could not determine the current status.
>
> file2 :
>
>  LOG file opened at 02/03/18 01:11:05
>
> DUP-05004:   statement1
> DUP-05007:   statement2
>
>
>  LOG file opened at 02/03/18 01:11:14
>
> DUP-05004:   statement1
>
> DUP-05007:   statement2
>
>
>  LOG file opened at 02/23/18 01:10:33
>
> DUP-05004:   statement1
>
> DUP-05007:   statement2
>
> I need to look for the ERR-2001 in file1 if it matches then go to file2 and 
> print the message nearest to the timestamp found in file1 within two minutes 
> of range .
>
> so in this case file1 :  Fri Feb 23 01:10:28 2018
>                    range   file1 +2 mins :02/23/18 01:12:28
> check in file 2 nearest to file1 and within range :     02/23/18 01:10:33
>
> how do i compare two timestamps in different format and within range  ?

You would first convert the two timestamps to a common format, preferably one 
that used a numerical value to express times. I know of two such: the Unix 
epoch time that uses an integer to represent the number of seconds since 1 Jan 
1970 UTM and the Julian date that uses a floating-point number to represent the 
number of days since 1 Jan 4713 BCE.

Are you looking for a Perl solution or a Python one?

For Perl, you should investigate time and date modules available on CPAN, such 
as Date::Manip or Date::Calc.


--
Asad Hasan
+91 9582111698


--
Asad Hasan
+91 9582111698

Reply via email to