Nabend!
Folgende Situation bringe ich irgendwie nicht hin. Betriebssystem lokal ist Windows XP, Strawberry perl, v5.10.1 (*) built for MSWin32-x86-multi-thread.
Auf dem Server Linux mit v5.8.5 built for i686-linux
FTP-Server: ProFTPD 1.3.2rc3
Wenn ich nun lokal per Totalcommander per FTP eine Datei hochlade vom 18.07.2010, 08:07 Uhr dann funktioniert das alles wunderbar. Ich sehe auch im FTP Fenster genau dieses Datum und diese Zeit identisch mit meiner lokalen Zeit.
Wenn ich nun per Perlscript mittels Net::FTP -> mdtm () mir den Zeitwert der Datei abhole kommt raus: 1279436836
Nun ermittle ich mittels (stat '')[9] für die gleiche Datei lokal den Wert: 1279433236
Differenz: Exakt die Sommerzeit, nämlich 3600 Sekunden.
Nun verstehe ich nicht, warum die Software Totalcommander diese beiden Dateien (richtigerweise) als gleiches Datum erkennt und ich das in Perl nicht hinbekomme.
Habe sämtliche Funktionen aus Date::Calc durchprobiert, auch Perl's eigenes localtime(), auch gmtime() und auch aus DateTime hab ich mal geschaut aber nichts passendes gefunden. Es kommt immer was anderes raus. Entweder beim einen 7 Uhr irgendwas und beim anderen 9 Uhr irgendwas oder beim einen 8 Uhr irgendwas dann aber beim anderen 6 Uhr irgendwas. Es paßt nie überein *verzweifel*
Habe auch mit dem letzten Parameter von localtime ($isdst) experimentiert, gibt auch nur Brei :(
Meine Frage ist nun: Was muss ich tun, damit ich zuverlässig - genau wie der Totalcommander - für diese Datei sowohl lokal als auch per FTP das gleiche Datum ermittle?
Am Ende möchte ich einfach nur wissen, ob die Datei auf dem Server oder lokal neuer ist. Wenn sie gleichen Datums sind ist es auch ok.
Danke
modedit Editiert von pq: Titel geändert: (stat/mtime) hinzugefügt zwecks besserer Suchergebnisse für Leute mit dem gleichen Problem
Last edited: 2011-03-28 17:16:16 +0200 (CEST)
10 print "Hallo"
20 goto 10