Wenn Sie Werte vergleichen möchten, könnten Sie die Nummer, die Sie bekam von localtime
in Skalarkontext und die Inode-Änderungszeit verwenden möchten, die Sie von stat
bekommen:
($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
$atime,$mtime,$ctime,$blksize,$blocks)
= stat($filename);
wo:
0 dev device number of filesystem
1 ino inode number
2 mode file mode (type and permissions)
3 nlink number of (hard) links to the file
4 uid numeric user ID of file's owner
5 gid numeric group ID of file's owner
6 rdev the device identifier (special files only)
7 size total size of file, in bytes
8 atime last access time in seconds since the epoch
9 mtime last modify time in seconds since the epoch
10 ctime inode change time in seconds since the epoch (*)
11 blksize preferred block size for file system I/O
12 blocks actual number of blocks allocated
So
Sie Feld 9:
$mtime = (stat $filename)[9];
$current_time = time;
$diff = $current_time - $mtime;
Vielleicht von Interesse: http://www.perl.com/doc/manual/html/pod/perlfunc/stat.html – some
Info, wie Daten zu konvertieren: http://www.perl.com /pub/a/2003/03/13/datetime.html – some
Die Antwort auf Ihre Frage lautet: Konvertieren Sie sie in das gleiche Format. Ich schlage vor, "Heute, 29. Dezember 2008" in einen Zeitstempel (Anzahl von (Millisekunden) seit der Epoche) umzuwandeln. Dann ist es ein einfacher Vergleich von zwei Zahlen – some