π§ JavaScript Date Fundamentals
Core concepts: UTC vs local time, ISO parsing, leap years, timezone math, and DST-safe foundations.
Production-focused date and timezone engineering
Practical guidance for full-stack teams working with `Date`, `Intl`, and `Temporal` in real-world apps. Learn strict parsing, UTC normalization, and explicit IANA timezone patterns that hold up in production.
Dates are one of the most error-prone parts of any JavaScript codebase. The native Date object
stores time as UTC internally but exposes confusingly named local-time methods, parses non-standard strings
differently across browsers, and mutates in place β so the same code can show the wrong hour after a daylight
saving change, count a day too many across a timezone, or break only for users in a single region.
This site is a working reference for getting it right. Every page pairs a clear explanation of the underlying
model with copy-pasteable, TypeScript-first solutions: the legacy Date approach, the modern
Intl and Temporal equivalent, and the edge cases β spring-forward gaps, fall-back
overlaps, month-end rollovers, and leap years β that quietly cause production bugs. It is organized into three
areas, from core fundamentals through locale-aware formatting to the immutable Temporal API.
Core concepts: UTC vs local time, ISO parsing, leap years, timezone math, and DST-safe foundations.
Locale-aware formatting, cross-browser quirks, safe timezone detection, and migration patterns.
Immutable temporal logic, ZonedDateTime workflows, calendar systems, and production Temporal adoption.
Jump straight to the questions developers hit most often:
If you are modernizing an existing codebase, begin with the fundamentals to get the mental model straight,
then move to Intl formatting, and finally adopt Temporal for new date logic.