2021-01-04T20:40:07
hajIch kann mal zur Zeitumstellung eine Testreihe ansetzen mit Win10 und Strawberry 5.30 oder 5.32, bei der ich weiß, was richtig ist und danach auch beurteilen kann, welche Komponente was falsch oder richtig macht.
Das wäre cool.
2021-01-04T20:40:07
hajZuerst wandelst Du das stat-Ergebnis in localtime. Das sollte schon eine Sommerzeit-Korrektur anhand der auf dem System eingestellten (!) Zeitzone erledigen.
[*] Dann addierst Du nochmal genau eine Stunde, wenn das Datum in die Sommerzeit fiel, wohl in der Annahme, das Ergebnis von [c]stat[/c] sei in diesem Fall fehlerhaft. Warum addierst Du dann so kompliziert im "ausformulierten" Datum und nicht gleich bei [c]$stat9[/c]?
Das ist doch nur das Testscript für hier.
2021-01-04T20:40:07
hajDas Element $epoch[8] ist laut Dokumentation als "true" definiert und nicht als exakt 1. Ein sicherer Vergleich wäre if ($^O =~ /mswin/i && $epoch[8])
Es gibt auch -1 und darauf darf es genau nicht matchen.
2021-01-04T20:40:07
hajAuch dann erscheint mir das $^O =~ /mswin/i recht fragil, nachdem es nicht klar ist, ob es wirklich am Betriebssystem oder an der C-Library hängt.[/list]
Bin mir 100 % sicher, dass es nur auf Win ist.
2021-01-04T20:40:07
hajMuss es denn wirklich und unbedingt lokale Zeit sein? Die nicht eindeutig: Es gibt in der Umstellungsnacht im Herbst für zwei stat-Resultate die gleiche lokale Zeit.
Das verstehe ich nicht. Was bedeutet das?
10 print "Hallo"
20 goto 10