Fix: Timezone-Doppel-Offset bei naiven Timestamps behoben

Naive Timestamps aus der DB (ohne Timezone-Info) wurden faelschlich als
UTC interpretiert (+Z), dann nochmal +1h fuer Europe/Berlin angezeigt.
Jetzt wird der korrekte Berlin-Offset (CET/CEST) dynamisch ermittelt.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Dieser Commit ist enthalten in:
Claude Code
2026-03-09 21:06:47 +01:00
Ursprung a249f6babf
Commit 27db92d124

Datei anzeigen

@@ -1048,7 +1048,17 @@ var Lagebild = {
if (!s) return s;
s = String(s).trim();
if (/[Zz]$/.test(s) || /[+-]\d{2}:?\d{2}$/.test(s)) return s;
return s.replace(' ', 'T') + 'Z';
// Naive Timestamps aus der DB sind Europe/Berlin Lokalzeit.
// Korrekten UTC-Offset ermitteln (CET +01:00 / CEST +02:00).
var iso = s.replace(' ', 'T');
var temp = new Date(iso + 'Z');
var utc = new Date(temp.toLocaleString('en-US', { timeZone: 'UTC' }));
var local = new Date(temp.toLocaleString('en-US', { timeZone: TIMEZONE }));
var offMin = (local - utc) / 60000;
var sign = offMin >= 0 ? '+' : '-';
var h = String(Math.floor(Math.abs(offMin) / 60)).padStart(2, '0');
var m = String(Math.abs(offMin) % 60).padStart(2, '0');
return iso + sign + h + ':' + m;
},
fmtDT: function(iso) {