On Apr 15, 2013, at 5:43 , Dean Landolt wrote: > On Sun, Apr 14, 2013 at 10:49 PM, Norbert Lindenberg > <[email protected]> wrote: > >> I'm afraid this would be quite confusing. Many people believe already that >> Date instances are in some local time zone, which they aren't, and this >> would lead even more astray. > > > Of course Date instances are in some local timezone -- the timezone of the > host system. This data isn't explicitly carried along with each date -- > instead it's just more implicit global state. But it's naive and even > hazardous to pretend a Date instance has no timezone component -- to say this > with a strait face would requiring removing the locale-specific date methods. > This is what is leading so many astray. Further, I've found that changing the > host timezone can wreak havoc on this implicit state in some environments. I > couldn't find anything in the spec about expected behavior but there are > subtle but real hazards lurking here.
No, Date instances are in UTC - read the spec. https://mail.mozilla.org/pipermail/es-discuss/2013-March/028928.html The time zone of the host system is, as you say, global state. Confusing instance data and global state has real hazards in many areas of software development. > Previously I'd suggested that Date instances should just own their timezone. > Make explicit what's already there implicitly -- slap the system timezone as > a symbol on Date.prototype and correct all locale-specific date methods to > respect this symbol instead of some hidden global state. Of course this has > no impact on a date's underlying value, just on the behavior of its locale > methods. So which one are you proposing: having "Date instances ... own their timezone" or "slap the system timezone as a symbol on Date.prototype and correct all locale-specific date methods to respect this symbol"? These are not the same. > If you want to alter the timezone used for locale methods on a specific > instance just set this property. Changing the property would affect all instances that have Date.prototype as their prototype, not just "a specific instance". _______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

