Sponsored Content
Full Discussion: Find time difference
Top Forums UNIX for Dummies Questions & Answers Find time difference Post 302664521 by drl on Friday 29th of June 2012 05:15:46 PM
Old 06-29-2012
Hi.
Quote:
Originally Posted by wnaguib
... which means first date 2012/6/24 19:25:55,second date 2012/6/24 20:40:06 so when i get the time difference the answer will be 1:14:11 ...
Like many tasks, this seems easy for perl and the appropriate module, although to the novice it can seem impenetrable. Here is a shell script that calls a perl script to do date arithmetic:
Code:
#!/usr/bin/env bash

# @(#) s3       Demonstrate perl manipulation of date strings.

pe() { for _i;do printf "%s" "$_i";done; printf "\n"; }
pl() { pe;pe "-----" ;pe "$*"; }
db() { ( printf " db, ";for _i;do printf "%s" "$_i";done;printf "\n" ) >&2 ; }
db() { : ; }
C=$HOME/bin/context && [ -f $C ] && $C perl

pl " Content of perl script p3:"
cat p3

one="20120624192555"
two="20120624204006"
pl " Results for difference $one $two:"

./p3 $one $two

exit 0

producing:
Code:
$ ./s3

Environment: LC_ALL = POSIX, LANG = POSIX
(Versions displayed with local utility "version")
OS, ker|rel, machine: SunOS, 5.10, i86pc
Distribution        : Solaris 10 10/08 s10x_u6wos_07b X86
GNU bash 3.00.16
perl 5.8.4

-----
 Content of perl script p3:
#!/usr/bin/env perl

# @(#) p3       Demonstrate date arithmetic.
# See:
# http://search.cpan.org/~sbeck/Date-Manip-6.32/lib/Date/Manip/DM5.pod

use strict;

BEGIN {
  $Date::Manip::Backend = 'DM5';
}
use Date::Manip;
use warnings;

my ($debug);
$debug = 1;
$debug = 0;

my($dt1,$dt2);
$dt1 = shift || die " Need a date argument.\n";
$dt2 = shift || die " Need a date argument.\n";

print " dt1 = $dt1; dt2 = $dt2\n" if $debug;

my($diff);
$diff = DateCalc($dt1,$dt2);
print " diff is $diff\n" if $debug;
print "$diff\n";

exit(0);

-----
 Results for difference 20120624192555 20120624204006:
+0:0:0:0:1:14:11

See man pages for details and local system administrators for aid if installation of perl modules is necessary.

Best wishes ... cheers, drl
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

To find the time difference between two lines of the same log file

Hello Friends, I want to write a script for the following: nlscux62:tibprod> grep "2008 Apr 30 01:" SA_EHV_SPEED_SFC_IN_03-SA_EHV_SPEED_SFC_IN_03-2.log | grep -i post | more 2008 Apr 30 01:01:23:928 GMT +2 SAPAdapter.SA_EHV_SPEED_SFC_IN_03-SA_EHV_SPEED_SFC_IN_03-2 Info AER3-000095 IDOC... (2 Replies)
Discussion started by: satyakam
2 Replies

2. Shell Programming and Scripting

Help to find the time difference between the lines

Hi guru's, Am new to shell scripting. I am getting the below o/p from the oracle database, when I fire a query. ID JOB_ID ELAPSED_TIME FROM TO ----- ------ ------------------- -------- -------- 62663 11773 01/06/2009 09:49:13 SA CM 62664 11773 ... (4 Replies)
Discussion started by: sathik
4 Replies

3. AIX

How to find time difference between 2 timestamps?

HI All, can some one please help me how to fine the difference between two time stamps say a= Nov 10, 2009 9:21:25 AM b= Nov 10, 2009 10:21:25 AM I want to find difference between the a & b I googled and tried with some options but no luck. My OS is AIX (1 Reply)
Discussion started by: bandlan9
1 Replies

4. Shell Programming and Scripting

Find Time difference in Unix

Hi, START_TIME :- "10-NOV-2009 00:00:04" STOP_TIME :- "10-NOV-2009 00:05:47" Please help to find difference between these two. Searched for the same topic but did not find an answer for the same time format :( Regards, Robin (3 Replies)
Discussion started by: robinbannis
3 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

Find time difference between two consecutive lines in same file.

Hello I have a file in following format: IV 08:09:07 NM 08:12:01 IC 08:12:00 MN 08:14:20 NM 08:14:15 I need a script to compare time on each line with previous line and show the inconsecutive line. Ex.: 08:12:00 08:14:15 A better way... (6 Replies)
Discussion started by: vilibit
6 Replies

7. Shell Programming and Scripting

How to find time difference?

I have a file wich contains time formats and i need to get the time difference TIME1 TIME2 ================================== 20120624192555.6Z 20120624204006.5Z which means first date 2012/6/24 19:25:55,second date 2012/6/24 20:40:06 so when i get the time... (1 Reply)
Discussion started by: wnaguib
1 Replies

8. Shell Programming and Scripting

Find time difference based on logfile

Hi All, Firstly thank you for the forum members I need to find time difference b'w two rows of timestamp using awk/shell. Here is the logfile: cat business_file start:skdjh:22:06:2010:10:30:22 sdfnskjoeirg wregn'wergnoeirnfqoeitgherg end:siifneworigo:22:06:2010:10:45:34... (3 Replies)
Discussion started by: Srinivas Gadi
3 Replies

9. Shell Programming and Scripting

awk script to find time difference between HTTP PUT and HTTP DELETE requests in access.log

Hi, I'm trying to write a script to determine the time gap between HTTP PUT and HTTP DELETE requests in the HTTP Servers access log. Normally client will do HTTP PUT to push content e.g. file_1.txt and 21 seconds later it will do HTTP DELETE, but sometimes the time varies causing some issues... (3 Replies)
Discussion started by: Juha
3 Replies

10. UNIX for Beginners Questions & Answers

In HP-UX how to find the date time difference ?

Hello, In HP-UX how to find the date time difference ? Start time: 28-APR-2019 21:36:01 End time : 29-APR-2019 00:36:04 ---------------------- Difference is ---------------------- Much appreciate any pointer or view on this. ... (3 Replies)
Discussion started by: Siva SQL
3 Replies
Date::Manip::Migration5to6(3pm) 			User Contributed Perl Documentation			   Date::Manip::Migration5to6(3pm)

NAME
Date::Manip::Migration5to6 - how to upgrade from 5.xx to 6.00 SYNOPSIS
When upgrading from Date::Manip 5.xx to 6.00, a few changes may be necessary to your scripts. The Date::Manip::Changes5to6 document lists in more detail the ways in which Date::Manip changed, but very few of these actually entail changes to your script. It should be noted that once the changes are made to your script, it will no longer run correctly in 5.xx. NECESSARY AND SUGGESTED CHANGES
The following changes are necessary, or strongly suggested: Reading config files with Date_Init If you use Date_Init to read any config files (if you do business mode calculations, you probably do), you should remove all of the following config variables from your call to Date_Init: GlobalCnf=FILE PersonalCnf=FILE PathSep=* IgnoreGlobalCnf=* PersonalCnfPath=* and replace them with: ConfigFile=FILE where FILE is now the full path to a config file. Also, the ConfigFile argument should be the first argument in Date_Init. Date_ConvTZ The Date_ConvTZ function has changed. It should now take 3 arguments: $date = Date_ConvTZ($date,$from,$to); If $from is not given, it defaults to the local time zone. If $to is not given, it defaults to the local time zone. The date is converted from the $from time zone into the $to time zone. Both should be any time zone (or alias) supported by Date::Manip. The old $errlevel argument is no longer handled. ConvTZ and TZ config variables If you use either the ConvTZ or TZ config variables, you should replace them with either SetDate or ForceDate. See the Date::Manip::Config document for information. The TZ variable will continue to work until Dec 2013 at which point it will be removed. Other deprecated config variables The following config variables have been deprecated, but will continue to function (though they will be removed at a future date): IntCharSet (removed Oct 2012) TZ (removed Dec 2013) The following variables have been removed. If you use any of them, you may need to modify your scripts: GlobalCnf PersonalCnf PathSep IgnoreGlobalCnf PersonalCnfPath ConvTZ Internal TodayIsMidnight DeltaSigns UpdateCurrTZ ResetWorkdDay today, yesterday, tomorrow If you parse the strings "today", "yesterday", or "tomorrow" in order to get the time now, or 24 hours in the past/future, this will no longer work. These strings now refer strictly to the date (so "today" is the current day at midnight, "yesterday" is the previous day at midnight, etc.). To get the time now, 24 hours ago, or 24 hours in the future, you would need to parse the strings "now", "-24:00:00", or "+24:00:00" respectively. Do not use Memoize In 5.xx, it was documented that you could use the module Memoize to speed up Date::Manip, especially when sorting dates. This information is no longer accurate. Using Memoize in conjunction with Date::Manip should have little impact on performance, and may lead to incorrect results, especially if you change config variables. Please see the Date::Manip::Changes5to6 (GENERAL CHANGES) document for more information. If you find other instances where it is necessary to modify your script, please email me so that I can add that information to this document. BUGS AND QUESTIONS
Please refer to the Date::Manip::Problems documentation for information on submitting bug reports or questions to the author. SEE ALSO
Date::Manip - main module documentation LICENSE
This script is free software; you can redistribute it and/or modify it under the same terms as Perl itself. AUTHOR
Sullivan Beck (sbeck@cpan.org) perl v5.14.2 2012-06-02 Date::Manip::Migration5to6(3pm)
All times are GMT -4. The time now is 11:23 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy