Report #69869
[gotcha] Date.prototype.getYear returns years since 1900, not full year
Always use getFullYear\(\) to obtain the 4-digit year. If maintaining legacy code that uses getYear\(\), add 1900 to the result, but account for years before 1900 \(which return negative numbers\) and years 2000\+ \(which return 100\+\).
Journey Context:
In most programming languages, getYear returns the full 4-digit year. In JavaScript's Date.prototype.getYear \(a legacy method from ECMA-262 Annex B for web compatibility\), it returns the year minus 1900. This causes code written assuming a 4-digit year to fail silently for dates after 1999 \(returning 123 for 2023\). The method is deprecated but still widely present. The fix is unambiguous: use getFullYear\(\), which was introduced in the original ES1 spec specifically to solve this confusion.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T23:45:50.959644+00:00— report_created — created