HM-Script: formatierte Zeitausgabe falsch implementiert
Verfasst: 18.12.2016, 13:03
Das folgende Script testet die formatierte Ausgabe von Zeitpunkten im Bereich des Übergabgs von Sommer- zu Winterzeit am 2016-10-30 (letzter Sonntag im Oktober).
Firmware 2.25.15
Ergebnis:
Wie leicht zu sehen ist, wird zwar die Uhrzeit richtig zurück gestellt und auch die Funktion IsDST() liefert das korrekte Ergebnis.
Die Formatierung mit %z, %Z bemerkt den Wechsel jedoch erst eine Stunde später. Schwache Leistung.
Firmware 2.25.15
Code: Alles auswählen
var t0=@2016-10-30 01:59:57@;
var x0=t0.ToInteger();
var j=0;
while (j<3)
{
var i=0;
while(i<6)
{
var x1=x0+i+(j*3600);
var t1=x1.ToTime();
var lt=t1.IsLocalTime();
var sz=t1.IsDST();
var ts=t1.Format('%F %T %z %Z');
WriteLine(x1#"\t"#lt#"\t"#sz#"\t"#ts);
i=i+1;
}
WriteLine("");
j=j+1;
}
Code: Alles auswählen
1477785597 1 1 2016-10-30 01:59:57 +0200 CEST
1477785598 1 1 2016-10-30 01:59:58 +0200 CEST
1477785599 1 1 2016-10-30 01:59:59 +0200 CEST
1477785600 1 1 2016-10-30 02:00:00 +0200 CEST
1477785601 1 1 2016-10-30 02:00:01 +0200 CEST
1477785602 1 1 2016-10-30 02:00:02 +0200 CEST
1477789197 1 1 2016-10-30 02:59:57 +0200 CEST
1477789198 1 1 2016-10-30 02:59:58 +0200 CEST
1477789199 1 1 2016-10-30 02:59:59 +0200 CEST
1477789200 1 0 2016-10-30 02:00:00 +0200 CEST
1477789201 1 0 2016-10-30 02:00:01 +0200 CEST
1477789202 1 0 2016-10-30 02:00:02 +0200 CEST
1477792797 1 0 2016-10-30 02:59:57 +0200 CEST
1477792798 1 0 2016-10-30 02:59:58 +0200 CEST
1477792799 1 0 2016-10-30 02:59:59 +0200 CEST
1477792800 1 0 2016-10-30 03:00:00 +0100 CET
1477792801 1 0 2016-10-30 03:00:01 +0100 CET
1477792802 1 0 2016-10-30 03:00:02 +0100 CET
Wie leicht zu sehen ist, wird zwar die Uhrzeit richtig zurück gestellt und auch die Funktion IsDST() liefert das korrekte Ergebnis.
Die Formatierung mit %z, %Z bemerkt den Wechsel jedoch erst eine Stunde später. Schwache Leistung.