π§ 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.