Accounting for leap seconds for "this time value"

Claude Pache claude.pache at gmail.com
Thu Sep 3 10:06:05 UTC 2015


That means that `Date.now()/1000` is the [Unix time] (https://en.wikipedia.org/wiki/Unix_time <https://en.wikipedia.org/wiki/Unix_time>), which can't represent leap seconds. In particular, each minute is assumed to have exactly 60 seconds, and thus it is impossible to represent `1981-06-30 23:59:60 UTC` in JS (or in Unix time). 

—Claude


> Le 3 sept. 2015 à 11:40, Karl Cheng <qantas94heavy at gmail.com> a écrit :
> 
> The current specification has this to say about the time value in dates:
> 
> "Time is measured in ECMAScript in milliseconds since 01 January, 1970 UTC. In time values leap seconds are ignored. It is assumed that there are exactly 86,400,000 milliseconds per day."
> 
> What I would like to seek clarification about is if we were to do the following:
> 
> ```js
> Math.floor(Date.now() / 1000) % 60;
> ```
> 
> Would complying with the specification mean that this value calculated for the "seconds" should not correspond with the time shown outside of JavaScript (because of leap seconds)?  For example, if that code returns "30", would that mean that a clock following UTC should show a seconds value of "04"? At the moment, it seems that the implementations I have tested do not follow this.
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20150903/32ac2c3c/attachment-0001.html>


More information about the es-discuss mailing list