最后修改的文件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秒前”