Struppi: Überprüfen ob Datum erreicht?

Beitrag lesen

Hallo Stefan

Hallo,

mit nachfolgender Funktion ermittle ich das aktuelle Datum:

sub getDateTime
{
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst);

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =  localtime(time);

if ($sec < 10) {$sec = "0$sec";}
if ($min < 10) {$min = "0$min";}
if ($hour < 10) {$hour = "0$hour";}
if ($mday < 10) {$mday = "0$mday";}

$mon++; if ($mon < 10) {$mon = "0$mon";}

$year += 1900;

return ("$mday.$mon.$year");
}

Damit ermittelst du kein Datum, sondern formatierst es.

Wesentlich einfacher ginge das mit sprintf

sub frmTime
{
my ($mday,$mon,$year) =  (localtime(time))[3..5];
$year += 1900;
return sprintf "%02d.%02d.%04d", $mday, ++$mon, $year;
}

Wie kann ich aber nun prüfen, ob das Datum 01.03.2006 erreicht ist. Gibt es in Perl dafür eine Funktion. Oder muss ich den Tag, Monat, Jahr mittels Stringvergleich prüfen?

wieso willst du einen  String vergleichen, Vergleich doch die Timestamps. wie du ein Datum umwandeln kannst, hat dir Benne ja schon gesagt.

Struppi.