zwei daten vergleichen
-
hi
ich will von zwei daten im format:
2008-11-05 18:10:05
jeweils das jüngere zurück haben.
hab dazu ne riesen if orgel gebaut die funktioniert, bin mir aber fast sicher das es leichter gehen könnte. nur wie?sub later { my $first = $_[0]; my $secnd = $_[1]; my $later = $secnd; if($first =~ /(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/) { my $year = $1; my $month = $2; my $day = $3; my $hour = $4; my $min = $5; my $sec = $6; if($secnd =~ /(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/) { if($year>$1) { $later = $first; } elsif($year==$1) { if($month>$2) { $later = $first; } elsif($month==$2) { if($day>$3) { $later = $first; } elsif($day==$3) { if($hour>$4) { $later = $first; } elsif($hour==$4) { if($min>$5) { $later = $first; } elsif($min==$5) { if($sec>$6) { $later = $first; } } } } } } } else { print "no valid date: $secnd\n"; } } else { print "no valid date: $first\n"; } return $later; }
ps: das is perl ^^
danke im voraus
-
was mir ganz spontan einfällt um schonmal die Orgel loszuwerden:
$gesamtsekunden=$sec+60*$min+3600*$hour+...
Und dann $gesamtsekunden vergleichen. Wenn man mehr darüber anchdenkt kann man das bestimmt auch noch besser machen.
-
lol, ich habs rausgefunden. manchmal sieht man den wald vor lauter baeumen nicht
if($first gt $secnd)
alphabetisch sortiert
thanks anyway