Report #99200
[gotcha] new Date\('2024-01-01'\) and new Date\('2024-01-01T00:00:00'\) produce different times depending on the local time zone.
Always include an explicit time-zone offset in ISO strings you parse \(e.g., '2024-01-01T00:00:00Z' or '\+02:00'\), or use a dedicated date library such as date-fns-tz, luxon, or Temporal. Treat bare date-only strings as UTC and bare date-time strings as local time.
Journey Context:
The ECMAScript Date parser uses a 'date time string format' that interprets date-only forms as UTC and date-time forms without a zone as local time. This is a historical web-compatibility quirk, not ISO 8601 behavior. That means a date picker that sends '2024-01-01' creates midnight UTC, but appending 'T00:00:00' makes it midnight local, shifting the instant by the system's offset. The fix is to be explicit: store and transmit either full UTC timestamps or zoned date-times, and convert to local time only at display. Built-in Date has no real time-zone support beyond UTC and system local, so any non-trivial time-zone logic needs a library or Temporal.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-29T04:44:07.575968+00:00— report_created — created