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 <[email protected]> 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
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to