我整个上午都在整理javascripts时间戳。我通过运行
继续获取无效的时间戳 today = (new Date()).setHours(0,0,0,0)
或today = (new Date()).getTime()
这两个输出1338930000000
和1338978151748
。
我认为这只是一个chrome js引擎错误,但是用Firefox重现了它。这两个陈述的预期结果是1338930000
和1338977700
。
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中度过的时光了(让你觉得PHP),而JAVASCRIPT在MILLISECONDS中输出它。我正在使用phpJS日期/时间库,javasctipt时间戳似乎与strtotime()和date()
本身不兼容我正在尝试使用unix时间戳,这些都是在几秒钟内完成的。
答案 0 :(得分:6)
getTime()
返回自1970/01/01以来的毫秒数,而不是秒数。
//milliseconds
var milliseconds = new Date().getTime();
//seconds
var seconds = new Date().getTime() / 1000;
答案 1 :(得分:1)
这不是一个错误 - 你期望一个时间戳在几秒钟内(为什么?),而javascript给出时间戳以毫秒精度。
答案 2 :(得分:1)
Unix时间戳使用秒,但Javascript时间戳使用毫秒!这就是为什么你需要乘以倍数。
http://www.w3schools.com/jsref/jsref_utc.asp
UTC()方法返回a之间的毫秒数 根据普遍性,1970年1月1日的指定日期和午夜 时间。