#!/usr/bin/perl print "see http://stackoverflow.com/questions/8221841/how-to-compare-string-date-time-in-perl \n"; $date1 = "11:56:41, 11/22/2011"; $date2 = "11:20:41, 11/20/2011"; $date1c = to_comparable($date1) ; print "$date1 $date1c\n"; $date2c = to_comparable($date2) ; print "$date2 $date2c\n"; if (to_comparable($date2) > to_comparable($date1)) { print "YES\n"; } else { print "NO\n"; } $date1 = "2011:10:25 11:56:41"; $date2 = "2011:12:25 11:06:41"; $date1c = conv_datetime($date1) ; print "$date1 $date1c\n"; $date2c = conv_datetime($date2) ; print "$date2 $date2c\n"; sub to_comparable { my ($date) = @_; my ($H,$M,$S,$d,$m,$Y) = $date =~ m{^([0-9]{2}):([0-9]{2}):([0-9]{2}), ([0-9]{2})/([0-9]{2})/([0-9]{4})\z} or die; return "$Y$m$d$H$M$S"; } sub conv_datetime { my ($date) = @_; my ($Y,$m,$d,$H,$M,$S) = $date =~ m{^([0-9]{4}):([0-9]{2}):([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})\z} or die; return "$Y$m$d$H$M$S"; } ============================================ $ perl date.pl see http://stackoverflow.com/questions/8221841/how-to-compare-string-date-time-in-perl 11:56:41, 11/22/2011 20112211115641 11:20:41, 11/20/2011 20112011112041 NO 2011:10:25 11:56:41 20111025115641 2011:12:25 11:06:41 20111225110641