Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Perl - mit Datum rechnen und Ordner selektieren

Frage Entwicklung Perl

Mitglied: xplayer2005

xplayer2005 (Level 1) - Jetzt verbinden

14.11.2006, aktualisiert 16.11.2006, 10645 Aufrufe, 8 Kommentare

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
Mitglied: 6890
14.11.2006 um 12:52 Uhr
hi,

also einfachste methode ist die:
snippet
01.
# in dieser var stehen die sekunden seit 01.01.1970 
02.
my $time=time(); 
03.
 
04.
# hier stehen die 5 tage in sekunden (86400 hat der tag * 5 tage) 
05.
my $alter = 86400 * 5; 
06.
 
07.
# hier steh das maximale alter wie alt dateien sein dürfen (jetzt - 5 tage) 
08.
my $maxAlter = $time - $alter;
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
Bitte warten ..
Mitglied: todason
14.11.2006 um 12:53 Uhr
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
Bitte warten ..
Mitglied: xplayer2005
14.11.2006 um 15:25 Uhr
ja und wie mach ich aus meinem eingelesenem Datum - 29.10.2006 - so eine Sekunden Zahl damit ich die beiden vergleichen kann??

das war mein eigentliches Problem
Bitte warten ..
Mitglied: xplayer2005
14.11.2006 um 15:36 Uhr
zur verdeutlichung. is vielleicht auch einfacher so...

wenn ich ne datei mit -M "Datei"; aufrufe bekomm ich ja das alter dieser in Tagen zurück.

was ich jetz gerne berechnen würd ist wie "alt" z.B. ein Ordner ist der 12.10.2006 heist bzw. aus dem ich 12.10.2006 ausgelesen hab.

ich stell mir das so vor das ich irgentwie den Ausdruck "12.10.2006" in Sekunden umgerechnet bekomm (denke einfach rechenen wird ned gehn wegen den schaltjahren...)
dann von dem heutigen Datum/Sekundenzahl abziehe und dann entsprechend ein Ergebniss bekomme, in Tagen oder Sekunden is dann egal.. und zu guter letzt vergleiche ob der Ordner/das eingelesene Datum jetzt älter is als 5 Tage oder nicht...


Danke.
Bitte warten ..
Mitglied: xplayer2005
14.11.2006 um 15:36 Uhr
zur verdeutlichung. is vielleicht auch einfacher so...

wenn ich ne datei mit -M "Datei"; aufrufe bekomm ich ja das alter dieser in Tagen zurück.

was ich jetz gerne berechnen würd ist wie "alt" z.B. ein Ordner ist der 12.10.2006 heist bzw. aus dem ich 12.10.2006 ausgelesen hab.

ich stell mir das so vor das ich irgentwie den Ausdruck "12.10.2006" in Sekunden umgerechnet bekomm (denke einfach rechenen wird ned gehn wegen den schaltjahren...)
dann von dem heutigen Datum/Sekundenzahl abziehe und dann entsprechend ein Ergebniss bekomme, in Tagen oder Sekunden is dann egal.. und zu guter letzt vergleiche ob der Ordner/das eingelesene Datum jetzt älter is als 5 Tage oder nicht...


Danke.
Bitte warten ..
Mitglied: 6890
15.11.2006 um 15:05 Uhr
mit
01.
my $alterInSekunden = (stat(datei oder ordner))[9];
bekommst du das alter seit der letzten änderung in sekunden zurückgegeben...

mfg
Bitte warten ..
Mitglied: xplayer2005
16.11.2006 um 12:54 Uhr
ne das war nicht mein Problem.

ich will ja nicht das alter der Letzten Änderung sondern das eingelesende datum in sekunden umwandeln

--habs aber mitlerweile selbst rausbekommen:

---
use Time::Local;

timelocal(0,0,0,$extDay,$extMon-1,$extYear) #liefert das alter in secunden
--

die ersten drei werte sind secunde,Minute,Stunde, da ich die nciht einlese setze ich die auf 0

die nächsten drei sind die eingelesenen Variablen extrahierterTag, extrahierterMonat (in Perl wie immer -1 nicht vergessen), extrahiertesJahr



Trozdem danke für die zahlreichen Antworten
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Ordner Umbenennen +heutiges Datum (12)

Frage von ahsenden zum Thema Batch & Shell ...

PHP
gelöst Datum Rechner (4)

Frage von michi-ffm zum Thema PHP ...

Neue Wissensbeiträge
Humor (lol)

Wohnt jemand in Belgien und kann nicht mehr ruhig ausschlafen?

(3)

Information von LordGurke zum Thema Humor (lol) ...

Sicherheits-Tools

Trendmicro OSCE und das Fall Creators Update Win10 RS3

(3)

Information von Henere zum Thema Sicherheits-Tools ...

Microsoft Office

Text in Zahlen umwandeln

Tipp von logische zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Microsoft Office
ICH BIN AM ENDE MEINES IT-WISSENS ANGELANGT!!!! (38)

Frage von 134537 zum Thema Microsoft Office ...

Windows Server
Gruppenrichtlinie greift nicht zu! (24)

Frage von Syosse zum Thema Windows Server ...

Hosting & Housing
Mailserver Software Empfehlungen (21)

Frage von sunics zum Thema Hosting & Housing ...