Report #104222
[gotcha] Date string parsing treats ISO 8601 as UTC but other formats as local time, causing off-by-hour errors
Always parse date strings explicitly using a library \(e.g., date-fns, luxon\) or parse manually with Date.parse\(\) only when the string is in standard formats you control. For user input, avoid relying on the Date constructor.
Journey Context:
new Date\("2024-01-01"\) → midnight UTC. new Date\("01/01/2024"\) → midnight local time. The difference can shift results by the local timezone offset. The ECMAScript spec \(20.3.3.2\) says date-only ISO 8601 strings \(YYYY-MM-DD\) are parsed as UTC; other formats \(like MM/DD/YYYY\) use local time. This is not obvious to many developers and leads to bugs that only affect users in certain timezones. Alternative approaches: always append a timezone to ISO strings \(e.g., "2024-01-01T00:00:00Z"\), or use a library that enforces explicit timezone handling.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-19T20:04:03.514551+00:00— report_created — created