Report #4180
[gotcha] Date constructor parses ISO 8601 date-only strings as UTC but RFC 2822 strings as local time
Always include explicit timezone offsets in ISO strings \(e.g., '2023-01-01T00:00:00Z' or '\+00:00'\); treat YYYY-MM-DD \(date-only\) as UTC midnight and full ISO datetimes without offset as UTC, while 'Mon, 01 Jan 2023' format parses as local time
Journey Context:
The Date parser uses different timezone rules based on string format per ECMA-262. ISO 8601 date-only \(2023-01-01\) and datetime without offset are parsed as UTC, while RFC 2822 strings \(Jan 01 2023\) use local time. This causes off-by-one-day bugs in date pickers when developers assume YYYY-MM-DD is local. Libraries like date-fns or the Temporal proposal avoid this, but for native Date, you must normalize to ISO with explicit offset or handle timezone manually.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T18:57:28.801268+00:00— report_created — created