File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Perl and the fly likes difference between two dates Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Languages » Perl
Bookmark "difference between two dates" Watch "difference between two dates" New topic

difference between two dates

anandkumar biyani

Joined: Dec 06, 2011
Posts: 9
I tried the below code to find difference between two dates. It works fine if the day of the month is 2-digit number. But it fails when we have a single-digit day of month(ex:1-9). my code is as below. please help me soon.

#!/usr/bin/perl -w

use strict;
use Time::Local;

my %months = (
Jan => 1,
Feb => 2,
Mar => 3,
Apr => 4,
May => 5,
Jun => 6,
Jul => 7,
Aug => 8,
Sep => 9,
Oct => 10,
Nov => 11,
Dec => 12

my $beginning = 'Fri Oct 6 05:54:09 2007';
my $end = 'Fri Oct 6 06:54:09 2007';

my @b = split(/[:\s]/, $beginning);
my @e = split(/[:\s]/, $end);

my $b = timelocal($b[5], $b[4], $b[3], $b[2], $months{$b[1]}-1, $b[-1]);
my $e = timelocal($e[5], $e[4], $e[3], $e[2], $months{$e[1]}-1, $e[-1]);

#my @new = localtime($b);
#printf "%04d%02d%02d\n", $new[5]+1900, $new[4]+1, $new[3];

my $elapsed = $e - $b;
print qq($elapsed seconds elapsed between the two events.\n);

Thanks in advance
fred rosenberger
lowercase baba

Joined: Oct 02, 2003
Posts: 11955

Is there a reason you are not using the Date::Calc module?

There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
I agree. Here's the link:
subject: difference between two dates
It's not a secret anymore!