Calc Time Difference in Perl


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Calc Time Difference in Perl
# 1  
Old 05-18-2010
Calc Time Difference in Perl

Hello,
I am having hard time calculating the time differnce in the below sequence. I tried nested for loops but I can't get to work.

Algorithm:
find time difference between the first AVAIL and the next event just before AVAIL.

0 05/17/2010 09:33 AVAIL <-- 1
1 05/17/2010 09:32 UM
2 05/17/2010 08:56 WE <-- 1
3 05/17/2010 03:46 AVAIL <-- 2
4 05/17/2010 03:31 STA <-- 2
5 05/15/2010 13:18 AVAIL <-- 3
6 05/15/2010 10:37 STA
7 05/15/2010 09:35 WP <-- 3
8 05/15/2010 08:49 AVAIL <--4
9 05/15/2010 07:27 STA
10 05/15/2010 07:26 STANDBY <--4

THanks,
Blow is my attempted code

Code:
if ($start_date){

                  if(m/(\d{2}\/\d{2}\/\d{4})\s+(\d{2}\:\d{2})\s+(\D+)\s+STAT/){
                          #print "found AVAIL\n";
                                if ( $3 ne "AVAIL"){
                                 $end_date = $1;
                          $end_time = $2;
                                  my ($smon,$sdate,$syear) = split("\/",$start_date);
                           my ($emon,$edate,$eyear) = split("\/",$end_date);
                           my ($shrs,$smin,$ssec) = split(":",$start_time);
                           my ($ehrs,$emin,$esec) = split(":",$end_time);
                                  @date1 = ($syear,$smon,$sdate,$shrs,$smin,$ssec);
          @date2 = ($eyear,$emon,$edate,$ehrs,$emin,$esec); # ==> less than 12 hours
                                  $d1 = Date_to_Time(@date1);
                           $d2 = Date_to_Time(@date2);
                                  $tt= ($d1-$d2)*.016666666667;
                                  print "\t $start_time $end_time  Both Avail $canontools[$d] $tt\n";

                                  $start_date = '';
                                  $avail_2="OFF";
                                  }
                                }

                              }
 
                   else  {
                 if(m/(\d{2}\/\d{2}\/\d{4})\s+(\d{2}\:\d{2})\s+AVAIL\s+STAT/){
                          $start_date = $1;
                          print "AVAIL\n";
                          $start_time = $2;
                          $avail_1="OFF"
                        }
                   }

# 2  
Old 05-18-2010
Please have look - Difference of Two Dates
# 3  
Old 05-18-2010
My time differnce function works fine, iam just having hard time puting the sequence together. How to read the lines and know to stop at the right line as below for the 1s 2s 3s 4s...

Thanks,
bataf
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Get the time difference between two consecutive line in UNIX perl script

Hi All :o, I have some log files which contains these informations: 2013-04-24 09:11:34.018 INFO XXXXXXXXXXXX 2013-04-24 09:11:34.029 INFO YYYYYYYYYYYY 2013-04-24 09:11:34.039 INFO ZZZZZZZZZZZZZZZ 2013-04-24 09:12:21.295 INFO TTTTTTTTTTTTTTT 2013-04-24 09:12:21.489 INFO... (3 Replies)
Discussion started by: shariquehabib
3 Replies

2. Shell Programming and Scripting

Calculate time difference between pst and pdt dates in perl

Hi, how to calculate the time difference between PST date and PDT date in perl scripting. date1: Mon Dec 31 16:00:01 PST 2015 date2: Tue Mar 19 06:09:30 PDT 2013 and also difference between PST-PST and PDT-PDT need difference in months or days (months prefereble). (3 Replies)
Discussion started by: praveen265
3 Replies

3. Shell Programming and Scripting

Time difference between two time stamps

Hi Friends, I have 2 varaibles which contain START=`date '+ %m/%d/%y %H:%M:%S'` END=`date '+ %m/%d/%y %H:%M:%S'` i want the time difference between the two variables in Seconds. Plz help. (2 Replies)
Discussion started by: i150371485
2 Replies

4. SCO

Time difference

Need some help please. I am running SCO Openserver 5.07 on a Windows 2003 Server with VMware Server 1 If I run # ps -ef|grep /etc/cron the date that it shows the cron process started is older than the date I get from running the uptime command. In other words it looks like the date... (2 Replies)
Discussion started by: wjace
2 Replies

5. Shell Programming and Scripting

How to calculate time difference between start and end time of a process!

Hello All, I have a problem calculating the time difference between start and end timings...! the timings are given by 24hr format.. Start Date : 08/05/10 12:55 End Date : 08/09/10 06:50 above values are in mm/dd/yy hh:mm format. Now the thing is, 7th(08/07/10) and... (16 Replies)
Discussion started by: smarty86
16 Replies

6. Shell Programming and Scripting

Time difference

Hi, I have a tab delimited file with GMT time. How to convert the GMT to PST time and store the line only if date falls to 2 days ago date. Say today is 16, date should be of 14. or else remove the line abc - - efg - - hij - - kln - - ... (10 Replies)
Discussion started by: sandy1028
10 Replies

7. Shell Programming and Scripting

Perl Time Difference

I having probelm in time difference output using Delta_YMDHMS, using below start date and enddate I get -30days. Any idea how to fix this issue. output : 0,1,-30, 0,0,0 Thanks, Bataf use POSIX qw/strftime/; use Date::Calc qw(Delta_YMDHMS); use Time::Local; $start_date =... (1 Reply)
Discussion started by: bataf
1 Replies

8. Shell Programming and Scripting

Time Difference

Hi Experts... I want to calculate the time difference between two date-time values (using ksh). It can return the difference in hours (or whatever..) For eg: time_diff "09/12/2009 12:30" "09/10/2009 12:30" should return 1464 hours... $time_diff "09/12/2009 12:30:00" "09/10/2009... (5 Replies)
Discussion started by: PRKS
5 Replies

9. Shell Programming and Scripting

Time difference

Hi All, I know there has been a lot of things that have been written about date arithmetic, but perhaps I have missed something.. The following script takes the input from a file name fail.txt with the following format: CLASSDB 20060328122808 CPPARMS 20060814222056 Where $1 is a file name... (4 Replies)
Discussion started by: Segwar
4 Replies

10. UNIX for Advanced & Expert Users

time difference

Hi, i have one hard coded time which will be 23:45 and one will be sysdate (same date) and time less than 23:45. i want to start my job at 23:45 and the input file will be arriving before that. so i want to make sure that the task starts only at 23:45 and from the input file time till 23:45... (3 Replies)
Discussion started by: decci_7
3 Replies
Login or Register to Ask a Question