Thread Problem mit Zeitstempel (6 answers)
Opened by leissi at 2007-07-12 11:08

leissi
 2007-07-12 11:08
#78397 #78397
User since
2005-07-06
84 Artikel
BenutzerIn
[default_avatar]
Hallo Habe ein Problem beim Zeitstempel.
Folgendes wollte vergleichen ob der Zeitstempel der Datei nicht älter als 24 Stunden ist. Leider kommt nicht das erwartete Ergebnis raus. Eine der Dateien ist älter als 24 Stunden. Kann jemand mir ein Tip geben was ich falsch mache?

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
  # Hier wird die Datei auf aktuelles Datum geprüft. Ergebnis wird dann ausgegeben.
            print LogDatei ("INFO : ","Der Zeitstempel der Datei wird geprüft!\n");
            my $t = time();
            my $max_age = $t;
            my $dir = $DateiPfad;
            opendir(DIR,$dir) or die $!; # Verzeichnis "öffnen"  
            my @verzeichnisse = grep{-f $dir .'/'.$_}readdir(DIR);                              
            if(existsTimeStamp($file, 24))
         
                  {
                    # Wenn Datei im Verzeichnis vorhanden, dann prüfen ob Suchstring in der Datei enthalten ist.  
                   print LogDatei "Die Datei: " . $file . "  wurde im Verzeichnis gefunden und hat ein aktuelles Datum!\n";

und hier die Subroutine zum Zeitstempel:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Subroutine1 Datei-Zeitstempel nicht älter als 1 Tag

# Hier wird geprüft ob aktuelle Datei vorliegt oder nicht
# return:
#  0 = Die überprüfte Datei ist nicht aktuell genug
#  1 = Die überprüfte Datei ist aktuell genug
 sub existsTimeStamp
  {
   
    my ($file,$max_age) = @_;
    my $tmpValue = 0;
    #print LogDatei $tm;#
    my $age = (time - (stat($file))[10]) / ( 24 * 60 * 60 );
    print LogDatei ("Info:  " . $age . "und" . $max_age . "Alter");
    if ($age < $max_age)
      {    
        $tmpValue = 1;
       # print LogDatei ("INFO: ","Aktuelle Datei" . $file . " vorhanden!");
       # print LogDatei ("INFO","file  stat($datei)");
      }
    else
      {  
        $tmpValue = 0;
       # print LogDatei ("INFO: ","Aktuelle Datei" . $file . " nicht vorhanden!");
      }  
    return $tmpValue;
  }


Rausschreiben tut er mir folgendes zu $age und $max_age
Quote
Info: $age=113.614039351852 und $max_age= 24 Alter

Vielen Dank für Eure Hilfe

Gruss

Leissi

edit pq: code-tags hinzugefügt\n\n

<!--EDIT|pq|1184234911-->

View full thread Problem mit Zeitstempel