comparaison de deux dates

Creation: 18 mai 2013
Mise à jour:
Version: 1.0
Author: Jean-Louis Bicquelet-Salaün
Location: http://jlbicquelet.free.fr
Copyright: (c) 2013 Jean-Louis BICQUELET-SALAÜN
date_compare  

  date

 

19/05/2013  

date_compare

date_comp compare deux dates. La fonction retourne -1 si la première date est inférieure à la seconde, 1 si elle est supérieure et 0 si elle est égale.

exemple:

use Time::Local;
#-----------------------------------------------------------------------
# date_comp  compare 2 dates
#-----------------------------------------------------------------------
sub date_comp{
        ($date,$date2)=@_;
my ($mday,$mon,$year,$hour,$min,$sec) = split(/[\s\/:]+/, $date);
my $time = timelocal($sec,$min,$hour,$mday,$mon-1,$year);

my ($mday,$mon,$year,$hour,$min,$sec) = split(/[\s\/:]+/, $date2);
my $time2 = timelocal($sec,$min,$hour,$mday,$mon-1,$year);

if ($time < $time2) { return 1; }
if ($time > $time2) { return -1; }
return 0;
}

#.......................................................................
$date='23/10/2012 11:35:00';
$date2='15/05/2013 17:35:00';

print date_comp($date,$date2);
print date_comp($date,$date);

see also