Difference between two dates


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Difference between two dates
# 1  
Old 03-29-2012
Difference between two dates

hi all,

I need a help for below requirement.

Difference between two dates"12-11-2009" and "03-25-2012" (mm-dd-yy format") in weeks and days and hours

Please help me for this. Thanks in adv....

I am working in AIX, so dont have below command:-
date --version
# 2  
Old 03-29-2012
perl code:
  1. #! /usr/bin/perl -w
  2. use strict;
  3. use Time::Local 'timelocal';
  4.  
  5. my ($frm_dt, $to_dt) = ($ARGV[0], $ARGV[1]);
  6.  
  7. my $diff = dt_to_epoch ($to_dt) - dt_to_epoch ($frm_dt);
  8. my $x = $diff / (60*60*24*7);
  9.  
  10. print $diff / (60*60*24*7), " week(s)     OR\n";
  11. print $diff / (60*60*24)  , " day(s)     OR\n" ;
  12. print $diff / (60*60)     , " hr(s)\n\nOR\n"  ;
  13.  
  14. if ($x > int ($x)) {
  15.     print int($x), " week(s) ";
  16.     $x = ($x - int($x)) * 7;
  17.     print int($x), " day(s) ";
  18.     $x = ($x - int($x)) * 24;
  19.     print int($x), " hr(s)\n";
  20. }
  21.  
  22. sub dt_to_epoch {
  23.     my $date = shift;
  24.     my @x = split /-/, $date;
  25.     return timelocal (0, 0, 0, $x[1], $x[0] - 1, $x[2]);
  26. }

Code:
[root@host user]# ./test.pl "12-11-2009" "03-25-2012"
119.285714285714 week(s)     OR
835 day(s)     OR
20040 hr(s)

OR
119 week(s) 2 day(s) 00 hr(s)


Last edited by balajesuri; 03-29-2012 at 05:43 AM..
# 3  
Old 03-29-2012
Another perl:
Code:
# cat gap.pl 
#!/usr/bin/env perl
use strict;
use Time::Local;

sub diffT {
   my ($initD,$endD)=@_;
   my @initD = split /-/, $initD;
   my @endD  = split /-/, $endD;
   int(timelocal(0,0,0,$initD[1],$initD[0]-1,$initD[2]) - timelocal(0,0,0,$endD[1],$endD[0]-1,$endD[2])) ;
   }

my $init=shift;
my $end=shift;

my $diff=diffT($init,$end);
my $Ws = int( $diff / 604800 ) ;
my $Ds = ( $diff - ( 604800 * $Ws )  ) / 86400;
my $Hs = ( $diff - ( ( 604800 * $Ws )  + ($Ds * 86400) ) ) / 3600 ;
print "Weeks: $Ws Days:$Ds Hours:$Hs\n";
exit 0

Code:
# gap.pl  "03-25-2012" "12-11-2009"
Weeks: 119 Days:2 Hours:0

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Difference between two dates

Hi There I am trying to find the difference between two dates in seconds, by taking the first 10 digits of the file name itself, which I have done as shown below: current_time=`date +%s` last_login_of_tim=`date -d @1489662376 +%s` diff_sec=$(($current_time-$last_login_of_tim)) ... (5 Replies)
Discussion started by: simpsa27
5 Replies

2. Fedora

Difference of dates

I have a script which is printing date in below format while writing the logs. theDate=`date +"%m%d%Y"` theTime=`date +"%H%M%S"` echo $theDate $theTime How can i find out difference current time and above format. Appreciate your help. (6 Replies)
Discussion started by: srikanth38
6 Replies

3. Shell Programming and Scripting

Difference between 2 dates

Hi Friends, I have a file that has the contents like below: file1.txt 5,13/07/2013 23:25:25,14/07/2013 19:40:21 5,13/07/2013 23:25:25,14/07/2013 19:40:43 5,12/07/2013 23:50:50,13/07/2013 20:30:26 5,12/07/2013 23:20:24,13/07/2013 19:40:53 60,14/07/2013 00:00:00,14/07/2013 23:00:39... (5 Replies)
Discussion started by: vsachan
5 Replies

4. Shell Programming and Scripting

Difference between two dates

Hi! I have two parameters like this: YYYY-MM-DD YYYY-MM-DD My question is, there is a direct command for get the elapsed time between the 2 dates, or I have to find another way? Thx! (1 Reply)
Discussion started by: MalaTomi
1 Replies

5. Shell Programming and Scripting

Calculating the difference between dates

Hello! i need to find files lower and bigger that one date i pass, i search in the man find, but i didn't find anything, the only that i find is the parameter -mtime, in this parameter i can pass a number of days, but i need to know the difference between dates, any built-in function for do... (15 Replies)
Discussion started by: claw82
15 Replies

6. Shell Programming and Scripting

Perl difference between dates

Hi, Is there any way I can get the difference between two dates in terms of days? I have used this method so far, but I cant format it in terms of days. @a=&DateCalc($date1,$date2,0); The o/p that I am getting is sort of like this: +0:0:0:4:0:0:0 I just want to get 4 days as an o/p.... (1 Reply)
Discussion started by: King Nothing
1 Replies

7. Shell Programming and Scripting

Difference between two dates.

Hi all. My question may seems to be similar to one that already been here. But i need a little other solution. I have two dates in format dd/mm/yyyy. I need to find number of days between them. I need to do it in bash script. I am running on Solaris machine and have cutted 'date' command version... (1 Reply)
Discussion started by: kukuruku
1 Replies

8. Shell Programming and Scripting

Days difference between two dates

Hello, I would like to find out the number of days between two dates of the format yyyy-mm-dd. Any help on this is highly appreciated. Thanks. (6 Replies)
Discussion started by: Data469
6 Replies

9. Shell Programming and Scripting

Difference between two dates in no of days ???

Hi All How to get the difference between two dates in no of days ??? My date format is like this YYYY/MM/DD. I have to get the no of days between two dates in the given format. I tried to search the forum but nothing came up similar to my requitement. Your help will be appreciated. ... (1 Reply)
Discussion started by: csaha
1 Replies

10. Shell Programming and Scripting

Difference between two dates...

Hi All, Wish you a Happy New year... I have to find the difference between two dates, the result should be the number of days. I have seen the "datecalc" function. Its good, can I have any other alternative. Thanks in Advance Raju (4 Replies)
Discussion started by: rajus19
4 Replies
Login or Register to Ask a Question