最后修改的文件date在node.js
我试图使用node.js检索服务器上文件的最后修改date。
我试过了
file.lastModified;
和
file.lastModifiedDate;
都回来,因为没有定义。
你应该使用stat函数:
根据文件 :
fs.stat(path, [callback])
asynchronousstat(2)。 callback得到两个参数(err,stats),其中stats是一个fs.Stats对象。 它看起来像这样:
{ dev: 2049 , ino: 305352 , mode: 16877 , nlink: 12 , uid: 1000 , gid: 1000 , rdev: 0 , size: 4096 , blksize: 4096 , blocks: 8 , atime: '2009-06-29T11:11:55Z' , mtime: '2009-06-29T11:11:40Z' , ctime: '2009-06-29T11:11:40Z' }
正如你所看到的, mtime
是最后修改的时间。
对于节点v 4.0.0和更高版本:
fs.stat("/dir/file.txt", function(err, stats){ var mtime = new Date(util.inspect(stats.mtime)); console.log(mtime); });
或同步:
var stats = fs.statSync("/dir/file.txt"); var mtime = new Date(util.inspect(stats.mtime)); console.log(mtime);
在这里你可以在几秒钟内获得文件的最后修改时间。
fs.stat("filename.json", function(err, stats){ let seconds = (new Date().getTime() - stats.mtime) / 1000; console.log(`File modified ${seconds} ago`); });
输出类似“文件修改300.9秒前”