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:
@@ -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) {
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren