in reply to compare dates?
Date::Manip should do what you want:
#!/usr/bin/perl use strict; use warnings; use Date::Manip; my @dates; while( <DATA> ) { chomp; push( @dates, ParseDate( $_ ) ); } @dates = sort @dates; my $oldest = $dates[0]; foreach my $current ( @dates ) { my $diff = DateCalc( $oldest, $current ); print "Diff between ", UnixDate( $oldest, "%m/%d/%y" ), " and ", UnixDate( $current, "%m/%d/%y" ), " is ", Delta_Format( $diff, "approx", 0, "%Mt" ), "\n"; } __DATA__ 06/30/96 08/07/97 09/05/97 12/11/97 03/26/98 07/17/98 10/23/98 11/12/98 01/14/99 04/10/99 05/27/99 02/10/00 03/10/00 03/15/00 03/15/00 03/30/00 06/15/00 07/13/00 08/03/00 09/07/00 09/30/00 12/10/00 01/25/01 02/27/01
Update: If the list is all ready sorted (and you need a bit of golf)
#!/usr/bin/perl use strict; use warnings; use Date::Manip; use List::Util qw( reduce ); my @dates = qw( 06/30/96 08/07/97 09/05/97 12/11/97 03/26/98 07/17/98 10/23/98 11/12/98 01/14/99 04/10/99 05/27/99 02/10/00 03/10/00 03/15/00 03/15/00 03/30/00 06/15/00 07/13/00 08/03/00 09/07/00 09/30/00 12/10/00 01/25/01 02/27/01 ); reduce { print "Diff between $a and $b is ", Delta_Format( DateCalc( $a, $b ) +, "approx", 0, "%Mt" ), "\n"; $a; } @dates;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: compare dates?
by andreas1234567 (Vicar) on Apr 10, 2008 at 06:17 UTC |