Leser: 34
1 2 3 4 5 6 7 8 9 10 11
#!/usr/bin/perl -w use strict; use warnings; use Date::Calc qw ( System_Clock ); use Data::Dumper; my @test = System_Clock (0); print Dumper (\@test); print "Doofe Sommerzeit aktiv: " . ($test[8] == 1 ? 'ja' : ($test[8] == -1 ? 'unbekannt' : 'nein')) . "\n";
2011-03-27T08:43:27 rostiEin Unix-Timestamp ist unabhängig von der Sommerzeit (dst), da sollte auch der Vergleich unabhängig davon sein.
2011-03-27T11:54:42 pqausgabe von time(), localtime() und gmtime(), erstellen einer datei und ausgabe von stat().
2011-03-27T18:24:52 biancaJa, nochmal. Für alles, was ich heute mache, ist alles wieder super.
Es geht einzig und allein um alle Dateien, die das letzte mal gestern oder früher angepackt wurden, also in der Winterzeit.
2011-03-27T19:53:05 pqalso für dateien, die du im winter angelegt hast, liefert stat() einen falschen wert
2011-03-28T10:28:07 pqdu musst doch wohl wissen, von wann die datei ist!
2011-03-28T10:28:07 pqund wenn du keine infos über deine localtime postest, dann ist das echt nur rätselraten hier.
2011-03-28T06:30:54 biancaAlso: Hier ein Vista mit Strawberry 5.10. Am 25.03. um 7:52 (=Winterzeit) wurde eine Datei angelegt. Der Dateiname wurde so gebildet:
sprintf ("$datei\_%04d%02d%02d_%02d%02d%02d.bak",(Localtime (time))[0..5])
2011-03-28T10:55:33 pqim übrigen wurde hier im thread von verschiedenen personen mehrfach empfohlen, wenn möglich immer gmtime zu benutzen, besonders wenn es sich um dateiaustausch zwischen rechnern handelt.
QuoteIch habe das getestet.
stat wirft auf WIndows 7 je nach MEZ oder MESZ (also Sommerzeit aus/an) zwei verschiedene Werte bei ctime aus.
2011-03-28T12:05:57 GwenDragonctime ist aber nicht das was du meinst, du meinst mtime.
2011-03-28T12:05:57 GwenDragonIch habe gerade mal getestet und bei abgeschalteter Sommerzeit eine Datei erstellt, mit utime die Zeitstempel gesetzt und danach die Sommerzeit angeschaltet und dann stat [9] ausgelesen. Die Werte bleiben lokal gleich.
2011-03-28T12:34:05 GwenDragonOder wie verwendest du stat?
2011-03-28T13:23:09 GwenDragonDas stat aus dem Core also.
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
Sommerzeit aus + ungeändert
stat[8] 1257858411
localtime Tue Nov 10 14:06:51 2009
gmtime Tue Nov 10 13:06:51 2009
----------
stat[9] 1230215294
localtime Thu Dec 25 15:28:14 2008
gmtime Thu Dec 25 14:28:14 2008
----------
stat[10] 1257858411
localtime Tue Nov 10 14:06:51 2009
gmtime Tue Nov 10 13:06:51 2009
----------
================================
Sommerzeit aus + Dateiinhalt wurde geändert
stat[8] 1301316078
localtime Mon Mar 28 13:41:18 2011
gmtime Mon Mar 28 12:41:18 2011
----------
stat[9] 1301316078
localtime Mon Mar 28 13:41:18 2011
gmtime Mon Mar 28 12:41:18 2011
----------
stat[10] 1257858411
localtime Tue Nov 10 14:06:51 2009
gmtime Tue Nov 10 13:06:51 2009
================================
Sommerzeit ein (also heute)
stat[8] 1301316078
localtime Mon Mar 28 14:41:18 2011
gmtime Mon Mar 28 12:41:18 2011
----------
stat[9] 1301316078
localtime Mon Mar 28 14:41:18 2011
gmtime Mon Mar 28 12:41:18 2011
----------
stat[10] 1257862011
localtime Tue Nov 10 15:06:51 2009
gmtime Tue Nov 10 14:06:51 2009
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$VAR1 = [
2011,
3,
28,
15,
27,
33,
87,
1,
1
];
Doofe Sommerzeit aktiv: ja
time: 1301318853
localtime: Mon Mar 28 15:27:33 2011
gmtime: Mon Mar 28 13:27:33 2011
stat Testdatei (25.03.2009 16:24:41 MEZ): Fri Mar 25 16:24:41 2011
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$VAR1 = [
2011,
3,
25,
14,
28,
49,
84,
5,
0
];
Doofe Sommerzeit aktiv: nein
time: 1301059729
localtime: Fri Mar 25 14:28:49 2011
gmtime: Fri Mar 25 13:28:49 2011
stat Testdatei (25.03.2009 16:24:41 MEZ): Fri Mar 25 15:24:41 2011
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
#!/usr/bin/perl -w use strict; use warnings; use Date::Calc qw ( Localtime System_Clock ); use Data::Dumper; use Fcntl qw (:DEFAULT :flock); my @test = System_Clock (0); print Dumper (\@test); print "Doofe Sommerzeit aktiv: " . ($test[8] == 1 ? 'ja' : ($test[8] == -1 ? 'unbekannt' : 'nein')) . "\n"; print "time: " . time() . "\n"; print "localtime: " . localtime() . "\n"; print "gmtime: " . gmtime() . "\n"; print "stat Testdatei (25.03.2009 16:24:41 MEZ): " . gmtime((stat('../datei'))[9]) . "\n";
2011-03-28T14:42:42 GwenDragonMuss bianc...