Thread Verständnisproblem mit der Zeit in Perl (stat/mtime) (72 answers)
Opened by bianca at 2011-02-22 21:12

GwenDragon
 2011-02-23 11:40
#145922 #145922
User since
2005-01-17
14848 Artikel
Admin1
[Homepage]
user image
Bei mir stimmen die Werte.

sowohl localtime als auch gmtime aus stat der Datei stimmen mit der FTP MDTM auf dem Server (bis auf ein paar Sekunden wegen Upload) überein.

Code (perl): (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/usr/bin/perl

use strict;
use warnings;

#use diagnostics;

delete @ENV{qw(ENV BASH_ENV IFS PATH)};    # make safe!

my $server = "ftp.myserver.example.org";
my $user="user12345";
my $password='patzwurd';

my $file = "Test.test";
open (my $fh, ">>", $file);
print $fh "#";
close $fh;

my @ftime = ( stat $file )[ 8, 9, 10 ];

print join "\n",
    "File: $file",
    "@ftime",
    "local: " . localtime( $ftime[0] ),
    "GMT: " . gmtime( $ftime[0] ),
        "";

use Net::FTP;
my $ftp = Net::FTP->new( $server, Debug => 0 )
    or die "Cannot connect to host: $@";

$ftp->login( $user, $password )
    or die "Cannot login ", $ftp->message;

$ftp->cwd("/mydir")
    or die "Cannot change working directory ", $ftp->message;

print "\nUpload $file";
$ftp->put($file) 
        or die "put failed ", $ftp->message;

my $ftpmdtm = $ftp->mdtm($file);
print join "\n", 
        "\n",
        "FTP: mdtm $ftpmdtm",  
        "local: ".localtime($ftpmdtm),
        "GMT: ".gmtime($ftpmdtm);  

$ftp->quit;


Quote
File: Test.test
1298457430 1298457430 1298457430
local: Wed Feb 23 11:37:10 2011
GMT: Wed Feb 23 10:37:10 2011

Upload Test.test

FTP: mdtm 1298457435
local: Wed Feb 23 11:37:15 2011
GMT: Wed Feb 23 10:37:15 2011


Und wenn ich auf dem Server stat mit Perl auslese oder das obige Skript laufen lasse, sind es auch die korrekten Zeiten.

Bist du sicher, dass auf dem FTP-Server und auf dem Server allgemein GMT als Zeitzone eingestellt ist?
Last edited: 2011-02-23 11:43:57 +0100 (CET)

View full thread Verständnisproblem mit der Zeit in Perl (stat/mtime)