使用 Node 的 fs.statime 实现纳秒级分辨率的 mtimectimeatime。

问题描述 投票:1回答:2

Node's返回的时间 fs.stat 似乎有一秒的分辨率,即使在支持纳秒分辨率的文件系统上,如ext4。

var fs = require('fs')
var stats = fs.statSync('.')
stats.mtime.getMilliseconds() // => always 0

如何获得分辨率更好的统计时间?纳秒是最理想的,但毫秒或微秒也可以。

node.js time stat
2个回答
1
投票

从Node v8.10开始,毫秒和纳秒分辨率时间可以作为单独的属性。

 stats.mtimeMs
 stats.ctimeMs
 stats.atimeMs

即:

stats.mtime.getMillieseconds() //546
stats.mtimeMs // 1391354639546.3066

2
投票

解决办法是升级Node。截至Node 0.11.0 (#3284, 51f128d),我们得到了毫秒级的分辨率时间。

var fs = require('fs')
var stats = fs.statSync('.')
stats.mtime.getMilliseconds() // => 367

我还不确定是否有办法得到纳秒 但得到毫秒已经是很大的进步了。

© www.soinside.com 2019 - 2024. All rights reserved.