在PHP microtime
实际上为您提供了微秒级分辨率的秒数。
JavaScript使用毫秒而不是秒为其时间戳,因此您只能以毫秒分辨率获取小数部分。
但是为了得到这一点,你就只取时间标记,除以1000,并得到其余的,就像这样:
var microtime = (Date.now() % 1000)/1000;
对于一个更完整的实现的PHP功能,你可以这样做这(从PHP.js缩短):
function microtime(getAsFloat) {
var s,
now = (Date.now ? Date.now() : new Date().getTime())/1000;
// Getting microtime as a float is easy
if(getAsFloat) {
return now
}
// Dirty trick to only get the integer part
s = now | 0
return (Math.round((now - s) * 1000)/1000) + ' ' + s
}
编辑: 使用较新的高分辨率时间API这是宝ssible获得在most modern browsers
function microtime(getAsFloat) {
var s, now, multiplier;
if(typeof performance !== 'undefined' && performance.now) {
now = (performance.now() + performance.timing.navigationStart)/1000;
multiplier = 1e6; // 1,000,000 for microseconds
}
else {
now = (Date.now ? Date.now() : new Date().getTime())/1000;
multiplier = 1e3; // 1,000
}
// Getting microtime as a float is easy
if(getAsFloat) {
return now;
}
// Dirty trick to only get the integer part
s = now | 0;
return (Math.round((now - s) * multiplier)/multiplier) + ' ' + s;
}
的可能的复制微秒决议[确实的JavaScript提供高分辨率定时器?](http://stackoverflow.com/questions/6875625/does-javascript-provide-a-high-resolution - 时间) –
从日期中减去舍入日期? – zerkms
你真的想用这个做什么? JS给你毫秒分辨率时间戳。这不是微秒的分辨率,所以以某种方式划分它并不会让你感到满意。什么是用例? – deceze