[BUG] Timezone formatter labels winter dates with daylight-time abbreviations

Offen Anfängerfreundlich
#9,831 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
78/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
bun, javascript, typescript

Rechercherichtung

Lies packages/utils/src/formatting.ts und konzentriere dich auf isDSTObserved, isDST und getTimezoneAbbreviation. Führe die gemeldete Bun-Reproduktion für Los Angeles, London, Sydney und Tokio aus, um die Abkürzungen für Winter und Sommer zu prüfen. Die Aufgabe ist abgeschlossen, wenn formatDateTime() die erwarteten Abkürzungen verwendet und die exportierten Funktionen diese Fälle bestehen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Describe the bug

The shared timezone formatter labels winter dates with daylight-time abbreviations. This reaches formatDateTime(), producing internally inconsistent timestamps such as Jan 15, 2026, 4:00 AM PDT for Los Angeles (which is on PST).

To reproduce

At staging commit 61843fe8d15a504a734125706c97c91db975cd29, run with Bun:

import { getTimezoneAbbreviation, formatDateTime } from './packages/utils/src/formatting.ts'

const winter = new Date('2026-01-15T12:00:00Z')
console.log(getTimezoneAbbreviation('America/Los_Angeles', winter))
console.log(formatDateTime(winter, 'America/Los_Angeles'))
console.log(getTimezoneAbbreviation('Europe/London', winter))
console.log(getTimezoneAbbreviation('Australia/Sydney', new Date('2026-07-15T12:00:00Z')))

Actual output: PDT, Jan 15, 2026, 4:00 AM PDT, BST, AEDT.

Expected abbreviations: PST, PST in the formatted timestamp, GMT, and AEST, respectively.

Cause

In packages/utils/src/formatting.ts, isDSTObserved and isDST compare the entire result of Intl.DateTimeFormat.format(), including the calendar date. January 15 differs from January 1 even when their timezone offsets are identical. A January baseline also needs special care for southern-hemisphere zones.

Validation

Ran the real exported functions with Bun 1.3.14 on Windows, covering January and July for Los Angeles, London, Sydney, and Tokyo. The numeric local time is correct; the appended abbreviation is wrong in the cases above. No model/API credentials or running app are needed.

Searched existing issues and open PRs for getTimezoneAbbreviation, timezone abbreviations and DST before filing. Suggested label: bug.

AI assistance: this source investigation and local reproduction were prepared with an AI coding assistant.

Vorherrschende Sprache
TypeScript
Sterne
29.8k
Forks
3.9k
Ø Merge
1 Std. 44 Min.
Gemergte PRs (30 T.)
841

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus simstudioai/sim

Alle Issues in simstudioai/sim

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.