Not published yet
new Date() and Temporal Both Go Quiet on a Bad Month. You Pick How It Fails.
The month off-by-one is the famous bug. The silent rollover and clamp is the one that costs you.
Publishing tomorrow morning · November 9, 2026
The AI-written `new Date(2026, 12, 1)` hands you January next year, because JavaScript’s Date counts months from zero. This shows the one-minute fix (subtract one), then the half nobody teaches: Date silently rolls a bad month into next year, and even Temporal — the newer API whose months run 1 to 12 — silently *clamps* a bad date by default. The real lesson is choosing how your dates fail (`overflow: "reject"`) instead of letting a default choose for you.