Javascript时间戳无效

Axe*_*ala 1 javascript timestamp

我整个上午都在整理javascripts时间戳.我一直在运行时收到无效的时间戳

today = (new Date()).setHours(0,0,0,0) 要么 today = (new Date()).getTime()

这2个输出13389300000001338978151748.

我认为这只是一个chrome js引擎错误,但是用Firefox重现了它.这两个陈述的预期产出是13389300001338977700.

不过,我确实对此有所了解.修复是这样的:

today = parseInt(((new Date()).setHours(0,0,0,0) * Math.pow(10, -3)).toFixed(0))

或没有setHours()

today = parseInt(((new Date()) * Math.pow(10, -3)).toFixed(0))

这是一个常见的错误吗?我做错了什么来获得这些结果?时间戳的格式为时间戳*10 ^ 3.

编辑:

我已经期待在SECONDS中度过时间了(darn you PHP),而JAVASCRIPT在MILLISECONDS中输出它.我正在使用phpJS日期/时间库,并且javasctipt时间戳似乎与strtotime()和date()似乎不是本机可兼容的

我试图使用unix时间戳,这些都是在几秒钟内完成的.

N1c*_*1ck 6

getTime() 返回自1970/01/01以来的毫秒数,而不是秒数.

//milliseconds
var milliseconds = new Date().getTime();

//seconds
var seconds = new Date().getTime() / 1000;
Run Code Online (Sandbox Code Playgroud)