Report #8761
[gotcha] new Date\('2023-01-01'\) parses as UTC, but new Date\('Jan 1 2023'\) parses as local time, causing off-by-one-day bugs across timezones
Always use ISO 8601 format with explicit timezone offset \(e.g., '2023-01-01T00:00:00\+00:00'\) for unambiguous parsing; avoid Date.parse on arbitrary strings; use date-fns or luxon for reliable parsing
Journey Context:
The ES spec mandates that Date.parse must interpret ISO 8601 date-only strings \(YYYY-MM-DD\) as UTC midnight, while leaving other formats implementation-defined. In practice, browsers and Node.js interpret RFC 2822 and other strings as local time. This creates a trap: '2023-01-01' becomes Jan 1 midnight UTC \(which is Dec 31 in Americas\), while '01 Jan 2023' becomes Jan 1 midnight local time. The fix is explicit ISO strings with offsets or using libraries that handle timezones explicitly.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T06:20:22.063133+00:00— report_created — created