DST handling in JavaScript

January 10, 2009

r7656 — ignoring some more WebKit tests.

This one's boring except as a nice followup to the previous post, as yet another example of the conflicting pulls of standards, compatibility, and sensibility:

// Another reason for failure is that, for compatability, we don't obey
// the ECMA standard on DST exactly.  We use the OS's facilities to
// convert to local time for dates within the UNIX 32-bit epoch,
// and follow the ECMA rules for dates outside that range.
// The ECMA rules say to use current DST rules for all dates,
// and that all dates that are separated by an exact multiple of
// 28 years must behave exactly the same.
// OS local time services are more accurate than this ECMA rule,
// which is a discrepancy.

Which sites assume that DST is properly handled, and which ones follow the ECMA spec? Which browsers choose which side?