Thread Variable _ ?
(52 answers)
Opened by bianca at 2020-12-25 10:24
O je o je. Aber ich lasse mich nicht von Windows abbringen :)
Ich denke, dass ich eine ganz bestimmte Stelle (eine Dateisynchronisation abhängig vom Zeitstempel) jetzt erst einmal so umschiffe: 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 50 51 52 53 54 #!/usr/bin/perl use strict; use warnings; use 5.010; #use Win32::UTCFileTime qw(:globally); require Date::Calc; # Date::Calc ist eh systemweit eingebunden #system 'cls'; my @files = ( 'xyz', # vom 15.08. also mit Sommerzeit richtig ist 19:14 'abc', # vom 16.12. also ohne Sommerzeit richtig ist 12:42 ); schleife(\@files); sub schleife { my ($files) = @_; foreach my $datei (@$files) { say "Datei '$datei'"; my $stat9 = (stat($datei))[9]; # Perl's localtime my @epoch = localtime $stat9; $epoch[4] ++; $epoch[5] += 1900; say sprintf( "$stat9 --> %02d.%02d.%04d %02d:%02d:%02d", @epoch[3..5], reverse(@epoch[0..2]) ); # Date::Calc @epoch = Date::Calc::Localtime($stat9); # liefert Jahr,Monat,Tag,Stunde,Minute,Sekunde,DayOfYear,DayOfWeek,SommerzeitKNZ say sprintf( "Date::Calc --> %02d.%02d.%04d %02d:%02d:%02d KNZ: $epoch[8]", reverse(@epoch[0..2]), @epoch[3..5] ); # Sommerzeitkorrektur if ($^O =~ /mswin/i && $epoch[8] == 1) { @epoch = Date::Calc::Add_Delta_DHMS(@epoch[0..5],0,1,0,0); # 1 Stunde addieren say sprintf( "korrigiert --> %02d.%02d.%04d %02d:%02d:%02d", reverse(@epoch[0..2]), @epoch[3..5] ); } say "\n"; } } Geht um die Bedingung $epoch[8] == 1, die auf das Sommerzeit Flag $dst von Date::Calc schaut. Würde mir Sicherheit geben, wenn du/ihr mal drauf schaut und mir deine/eure Meinung sag(s)t. Danach wäre das dann auch vorerst mal gelöst (umgangen, verbastelt wie auch immer). Editiert von bianca: $^O =~ /mswin/i ergänzt Last edited: 2021-01-04 09:37:56 +0100 (CET) 10 print "Hallo"
20 goto 10 |