Perl - mit Datum rechnen und Ordner selektieren
Hallo,
ich lese das Datum aus dem Ordnernamen ein, jetzt soll geprüft werden ob das eingelesene Datum älter als 5 tage ist..
wie mache ich das?
mein Problem ist das ich nicht weis wie ich in Perl mit dem Datum rechne..
für Ideen bedanke ich mich vorab
ich lese das Datum aus dem Ordnernamen ein, jetzt soll geprüft werden ob das eingelesene Datum älter als 5 tage ist..
wie mache ich das?
mein Problem ist das ich nicht weis wie ich in Perl mit dem Datum rechne..
für Ideen bedanke ich mich vorab
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 44390
Url: https://administrator.de/contentid/44390
Ausgedruckt am: 23.11.2024 um 20:11 Uhr
8 Kommentare
Neuester Kommentar
hi,
also einfachste methode ist die:
snippet
snippet end
ansonsten gibt es noch das modul Date::Calc. mit dem kannst du auch datumsberechnungen machen.
http://search.cpan.org/~stbey/Date-Calc-5.4/Calc.pod
mfg godlike P
also einfachste methode ist die:
snippet
# in dieser var stehen die sekunden seit 01.01.1970
my $time=time();
# hier stehen die 5 tage in sekunden (86400 hat der tag * 5 tage)
my $alter = 86400 * 5;
# hier steh das maximale alter wie alt dateien sein dürfen (jetzt - 5 tage)
my $maxAlter = $time - $alter;
ansonsten gibt es noch das modul Date::Calc. mit dem kannst du auch datumsberechnungen machen.
http://search.cpan.org/~stbey/Date-Calc-5.4/Calc.pod
mfg godlike P
Hallo,
anhand dieses Beispiels kannst du erkennen wie Perl das Datum verarbeitet:
sub timestamp {
(my $sec,my $min,my $hour,my $mday,my $mon,my $year) = localtime(time); #Systemzeit auslesen
$year += 1900; #Jahr zählt von 1970
$mon +=1; #Monat 0-11
my $stamp = sprintf("%02d:%02d:%02d-%02d.%02d.%04d",$hour,$min,$sec,$mday,$mon,$year);
return $stamp;
}
Gruss
Todason
anhand dieses Beispiels kannst du erkennen wie Perl das Datum verarbeitet:
sub timestamp {
(my $sec,my $min,my $hour,my $mday,my $mon,my $year) = localtime(time); #Systemzeit auslesen
$year += 1900; #Jahr zählt von 1970
$mon +=1; #Monat 0-11
my $stamp = sprintf("%02d:%02d:%02d-%02d.%02d.%04d",$hour,$min,$sec,$mday,$mon,$year);
return $stamp;
}
Gruss
Todason
mit
bekommst du das alter seit der letzten änderung in sekunden zurückgegeben...
mfg
my $alterInSekunden = (stat(datei oder ordner))[9];
mfg